如下所示:
package copy;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class FileCopy {public static void main(String[] args) throws IOException {
// 第一種: 使用FileReader和FileWrite,一次讀取一個字符 FileReader fr = new FileReader("D://a.txt"); FileWriter fw = new FileWriter("D://b.txt"); int ch; while((ch = fr.read()) != -1) { fw.write(ch); } fw.close(); fr.close();
// 第二種: 使用FileReader和FileWrite,一次讀取一個字符數組 FileReader fr = new FileReader("D://a.txt"); FileWriter fw = new FileWriter("D://b.txt"); char[] chs = new char[1024]; int len; while((len = fr.read(chs)) != -1) { fw.write(chs, 0, len); } fw.close(); fr.close();
// 第三種: 使用FileOutputStream和FileInputStream,一次讀取一個字節 FileInputStream fis = new FileInputStream("D://a.txt"); FileOutputStream fos = new FileOutputStream("D://b.txt"); int ch; while((ch = fis.read()) != -1) { fos.write(ch); } fos.close(); fis.close();
// 第四種: 使用FileOutputStream和FileInputStream,一次讀取一個字節數組 FileInputStream fis = new FileInputStream("D://a.txt"); FileOutputStream fos = new FileOutputStream("D://b.txt"); int ch; byte[] by = new byte[1024]; while((ch = fis.read(by)) != -1) { fos.write(by, 0, ch); } fos.close(); fis.close();
// 第五種: 使用BufferedReader和BufferedWriter,一次讀取一行 BufferedReader br = new BufferedReader(new FileReader("D://a.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("D://b.txt")); String line; while((line = br.readLine()) != null) { bw.write(line); bw.newLine(); bw.flush(); } bw.close(); br.close();
// 第六種: 使用高效緩沖流,BufferedInputStream和BufferedOutputStream,一次讀取一個字節 BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D://a.txt")); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D://b.txt")); int ch; while((ch = bis.read()) != -1) { bos.write(ch); } bos.close(); bis.close();
// 第七種: 使用高效緩沖流,BufferedInputStream和BufferedOutputStream,一次讀取一個字節數組 BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D://a.txt")); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D://b.txt")); int ch; byte[] by = new byte[1024]; while((ch = bis.read(by)) != -1) { bos.write(by, 0, ch); } bos.close(); bis.close();
}}
以上這篇基于java文本復制的7種方式總結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選