如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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 { |
1
2
3
4
5
6
7
8
9
|
// 第一种: 使用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(); |
1
2
3
4
5
6
7
8
9
10
|
// 第二种: 使用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(); |
1
2
3
4
5
6
7
8
9
|
// 第三种: 使用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(); |
1
2
3
4
5
6
7
8
9
10
|
// 第四种: 使用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(); |
1
2
3
4
5
6
7
8
9
10
11
|
// 第五种: 使用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(); |
1
2
3
4
5
6
7
8
9
|
// 第六种: 使用高效缓冲流,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(); |
1
2
3
4
5
6
7
8
9
10
|
// 第七种: 使用高效缓冲流,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(); |
1
2
|
} } |
以上这篇基于java文本复制的7种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/qq_26106607/article/details/79123496