查看: 3105|回复: 0

[Java语言] 基于java文本复制的7种方式总结

发表于 2018-2-24 08:00:02

如下所示:

  1. package copy;
  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.BufferedReader;
  5. import java.io.BufferedWriter;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. import java.io.FileOutputStream;
  9. import java.io.FileReader;
  10. import java.io.FileWriter;
  11. import java.io.IOException;
  12. public class FileCopy {
  13. public static void main(String[] args) throws IOException {
复制代码
  1. // 第一种: 使用FileReader和FileWrite,一次读取一个字符
  2. FileReader fr = new FileReader("D:\\a.txt");
  3. FileWriter fw = new FileWriter("D:\\b.txt");
  4. int ch;
  5. while((ch = fr.read()) != -1) {
  6. fw.write(ch);
  7. }
  8. fw.close();
  9. fr.close();
复制代码
  1. // 第二种: 使用FileReader和FileWrite,一次读取一个字符数组
  2. FileReader fr = new FileReader("D:\\a.txt");
  3. FileWriter fw = new FileWriter("D:\\b.txt");
  4. char[] chs = new char[1024];
  5. int len;
  6. while((len = fr.read(chs)) != -1) {
  7. fw.write(chs, 0, len);
  8. }
  9. fw.close();
  10. fr.close();
复制代码
  1. // 第三种: 使用FileOutputStream和FileInputStream,一次读取一个字节
  2. FileInputStream fis = new FileInputStream("D:\\a.txt");
  3. FileOutputStream fos = new FileOutputStream("D:\\b.txt");
  4. int ch;
  5. while((ch = fis.read()) != -1) {
  6. fos.write(ch);
  7. }
  8. fos.close();
  9. fis.close();
复制代码
  1. // 第四种: 使用FileOutputStream和FileInputStream,一次读取一个字节数组
  2. FileInputStream fis = new FileInputStream("D:\\a.txt");
  3. FileOutputStream fos = new FileOutputStream("D:\\b.txt");
  4. int ch;
  5. byte[] by = new byte[1024];
  6. while((ch = fis.read(by)) != -1) {
  7. fos.write(by, 0, ch);
  8. }
  9. fos.close();
  10. fis.close();
复制代码
  1. // 第五种: 使用BufferedReader和BufferedWriter,一次读取一行
  2. BufferedReader br = new BufferedReader(new FileReader("D:\\a.txt"));
  3. BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\b.txt"));
  4. String line;
  5. while((line = br.readLine()) != null) {
  6. bw.write(line);
  7. bw.newLine();
  8. bw.flush();
  9. }
  10. bw.close();
  11. br.close();
复制代码
  1. // 第六种: 使用高效缓冲流,BufferedInputStream和BufferedOutputStream,一次读取一个字节
  2. BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\a.txt"));
  3. BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\b.txt"));
  4. int ch;
  5. while((ch = bis.read()) != -1) {
  6. bos.write(ch);
  7. }
  8. bos.close();
  9. bis.close();
复制代码
  1. // 第七种: 使用高效缓冲流,BufferedInputStream和BufferedOutputStream,一次读取一个字节数组
  2. BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\a.txt"));
  3. BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\b.txt"));
  4. int ch;
  5. byte[] by = new byte[1024];
  6. while((ch = bis.read(by)) != -1) {
  7. bos.write(by, 0, ch);
  8. }
  9. bos.close();
  10. bis.close();
复制代码
  1. }
  2. }
复制代码

以上这篇基于java文本复制的7种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持程序员之家。



回复

使用道具 举报