通过字节流读取和写入的方式 实现文件复制功能 (从E:/source.jpg文件复制到E:/target.jpg文件中)
时间: 2024-11-12 16:32:11 浏览: 4
要通过字节流实现文件复制功能,可以从源文件创建一个InputStream,然后将其内容写入目标文件的OutputStream。以下是Java代码的一个简单实现:
```java
import java.io.*;
public class FileCopyByByteStream {
public static void copyFile(String srcPath, String dstPath) {
try {
// 获取源文件输入流
FileInputStream sourceFile = new FileInputStream(srcPath);
// 获取目标文件输出流
FileOutputStream destinationFile = new FileOutputStream(dstPath);
// 读取源文件内容的字节数组
byte[] buffer = new byte[4096]; // 可自定义大小
int bytesRead;
// 逐块读取和写入,直到读取完所有内容
while ((bytesRead = sourceFile.read(buffer)) != -1) {
destinationFile.write(buffer, 0, bytesRead);
}
// 关闭流
sourceFile.close();
destinationFile.close();
System.out.println("文件复制完成!");
} catch (IOException e) {
System.err.println("文件复制过程中发生错误: " + e.getMessage());
e.printStackTrace();
}
}
public static void main(String[] args) {
copyFile("E:/source.jpg", "E:/target.jpg");
}
}
```
这个代码会将`E:/source.jpg`文件的内容完整地复制到`E:/target.jpg`。如果文件过大,可以考虑调整buffer的大小以优化性能。
阅读全文