更新时间:2019-08-27 14:31:41 来源:极悦 浏览2283次
有很多的Java初学者对于文件复制的操作总是搞不懂,下面极悦java学院小编将为大家分享Java实现文件复制的四种方式都是哪些?
实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操作
private static void streamCopyFile(File srcFile, File desFile) throws IOException {
// 使用字节流进行文件复制
FileInputStream fi = new FileInputStream(srcFile);
FileOutputStream fo = new FileOutputStream(desFile);
Integer by = 0;
//一次读取一个字节
while((by = fi.read()) != -1) {
fo.write(by);
}
fi.close();
fo.close();
}
实现方式二:使用BufferedInputStream/BufferedOutputStream高效字节流进行复制文件
private static void bufferedStreamCopyFile(File srcFile, File desFile) throws IOException {
// 使用缓冲字节流进行文件复制
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desFile));
byte[] b = new byte[1024];
Integer len = 0;
//一次读取1024字节的数据
while((len = bis.read(b)) != -1) {
bos.write(b, 0, len);
}
bis.close();
bos.close();
}
实现方式三:使用FileReader/FileWriter字符流进行文件复制。(注意这种方式只能复制只包含字符的文件,也就意味着你用记事本打开该文件你能够读懂)
private static void readerWriterCopyFile(File srcFile, File desFile) throws IOException {
// 使用字符流进行文件复制,注意:字符流只能复制只含有汉字的文件
FileReader fr = new FileReader(srcFile);
FileWriter fw = new FileWriter(desFile);
Integer by = 0;
while((by = fr.read()) != -1) {
fw.write(by);
}
fr.close();
fw.close();
}
实现方式四:使用BufferedReader/BufferedWriter高效字符流进行文件复制(注意这种方式只能复制只包含字符的文件,也就意味着你用记事本打开该文件你能够读懂)
private static void bufferedReaderWriterCopyFile(File srcFile, File desFile) throws IOException {
// 使用带缓冲区的高效字符流进行文件复制
BufferedReader br = new BufferedReader(new FileReader(srcFile));
BufferedWriter bw = new BufferedWriter(new FileWriter(desFile));
char[] c = new char[1024];
Integer len = 0;
while((len = br.read(c)) != -1) {
bw.write(c, 0, len);
}
//方式二
/*String s = null;
while((s = br.readLine()) != null) {
bw.write(s);
bw.newLine();
}*/
br.close();
bw.close();
}
以上就是极悦java学院小编介绍的"Java实现文件复制的四种方式"的内容,分别使用字节流、高效字节流、字符流、高效字符流四种方式实现文件复制的方法,希望以上内容对大家有帮助,更多精彩内容请关注极悦java学院官网。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习