package onlyfun.caterpillar; import java.io.*; import java.util.*; public class FileDemo { public static void main(String[] args) { try { String name = "FileDemo.java";//讀取的檔案或目錄 File file = new File(name); if(file.isFile()) { // 是否為檔案 System.out.println(name + " 檔案"); System.out.println( file.canRead() ? "可讀 " : "不可讀 "); System.out.println( file.canWrite() ? "可寫 " : "不可寫 "); System.out.println( file.length() + "位元組"); /****************************************************/ try { //讀取檔案 FileReader fis = new FileReader(name); BufferedReader brdFile = new BufferedReader(fis); //寫入檔案 FileWriter fOut = new FileWriter("c.txt"); BufferedWriter bwrFile = new BufferedWriter(fOut); //一行一行讀取並儲存 int n = 0; String strLine; String str = ""; while ((strLine = brdFile.readLine()) != null) { str += (n++) + strLine + "\n"; } //將字串一行一行寫入 String s = ""; for(int x = 0 ; x < str.length(); x++){ if(str.charAt(x) != '\n'){ s += str.charAt(x); }else{ bwrFile.write(s);//寫入一行 bwrFile.newLine();//換行 s = "";//字串重新儲存 } } System.out.println(str); //關閉檔案 brdFile.close(); bwrFile.close(); fOut.close(); fis.close(); }catch (IOException e) {} /****************************************************/ } else { // 列出所有的檔案及目錄 File[] files = file.listFiles(); ArrayListfileList = new ArrayList (); for(int i = 0; i < files.length; i++) { // 先列出目錄 if(files[i].isDirectory()) { //是否為目錄 // 取得路徑名 System.out.println("[" + files[i].getPath() + "]"); } else { // 檔案先存入fileList,待會再列出 fileList.add(files[i]); } } // 列出檔案 for(File f: fileList) { System.out.println(f.toString()); } System.out.println(); } } catch(ArrayIndexOutOfBoundsException e) { System.out.println( "using: java FileDemo pathname"); } } }
2009年6月24日
網路程式設計 - 期末考偷偷來 ( File I / O )
相關連結
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/JavaGossip2.htm
http://home.so-net.net.tw/idealist/Java/IO.html
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言