基于java文本复制的7种方式总结

网友投稿 271 2023-02-25


基于java文本复制的7种方式总结

如下所示:

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和ZkSfALazoFileInputStream,一次读取一个字节

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 FileOutputStreamZkSfALazo("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 ZkSfALazoFileOutputStream("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 = newhttp:// 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();

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:aop注解方式实现全局日志管理方法
下一篇:java图的深度优先遍历实现随机生成迷宫
相关文章

 发表评论

暂时没有评论,来抢沙发吧~