程式碼如下:
package yku.io; import java.io.File; public class FileTool { //讀取檔案 public static String Reader(String pathName) throws java.io.IOException { java.io.FileReader reader = new java.io.FileReader(pathName); // 承載讀取內容的buff StringBuffer buff = new StringBuffer(); //一次讀取256個字元 char[] c = new char[256]; int length; while ((length = reader.read(c)) > 0) { buff.append(c); } reader.close(); return buff.toString(); } //寫入檔案,把指定的data寫入檔案 public static void Writer(String pathName, String data) throws java.io.IOException { java.io.FileWriter writer = new java.io.FileWriter(pathName); // 寫入檔案 writer.write(data); writer.close(); } //複制,指定來源及目地,利用FileReader及FileWriter來讀及寫 public static void copy(String FromPath, String ToPath) throws java.io.IOException { java.io.FileReader reader = new java.io.FileReader(FromPath); java.io.FileWriter writer = new java.io.FileWriter(ToPath); char[] c = new char[256]; int length; while ((length = reader.read(c)) > 0) { writer.write(c, 0, length); } reader.close(); writer.close(); } // 刪除檔案 public static void delete(String filepath) throws java.io.IOException { java.io.File f = new java.io.File(filepath); //System.out.println(filepath+":"+f.exists()); f.deleteOnExit(); } // 移動檔案,copy後刪除原本檔案 public static void movie(String FromPath, String ToPath) throws java.io.IOException { copy(FromPath, ToPath); delete(FromPath); } //先讀檔案後存入記憶體,再一次寫入檔案, //當需要把讀取的內容做處理時可以這麼做 public static void copy2(String FromPath, String ToPath) throws java.io.IOException { // 這個效率不如copy Writer(ToPath, Reader(FromPath)); } public static void main(String args[]) throws java.io.IOException { // 取出class目錄下的text.txt檔案 String pathName = FileTool.class.getResource("/text.txt").getFile(); // System.out.println(pathName); // 取得目錄 java.io.File f = new java.io.File(pathName); String path = f.getParent(); // System.out.println(path); System.out.println("讀出資料"); // 讀出資料 String str = FileTool.Reader(pathName); System.out.println(str); System.out.println(); System.out.println("寫入資料"); // 寫入資料 String writeName = path + File.separator + "write.txt"; FileTool.Writer(writeName, "測試看看有沒有成功,123\r\n中文abcde"); System.out.println("寫入成功:" + writeName); System.out.println(); System.out.println("copy"); // copy String copyName = path + File.separator + "copy.txt"; FileTool.copy(pathName, copyName); System.out.println("copy成功:" + copyName); System.out.println(); System.out.println("copy2"); // copy2 String copyName2 = path + File.separator + "copy2.txt"; FileTool.copy(pathName, copyName2); System.out.println("copy2成功:" + copyName2); System.out.println(); System.out.println("movie:移動的檔案名稱:" + pathName); // copy2 String mvName = path + File.separator + "mv.txt"; FileTool.movie(pathName, mvName); System.out.println("移動成功,原本檔案將被刪除:" + mvName); } }
Pages: 1 2
介紹的很詳細喔!!
大大的教學好多 都很實用 (拍拍手~~~
湊一湊都可以出一本程式書了:D
還很弱…謝謝你會喜歡…
努力中