在前面几个章节我们学习了FileInputStream和FileoutputStream, 在本节我们将学习用这两个类拷贝文件。
1. 创建文件输入流,将文件读入到程序。
2. 创建文件输出流,将读取到的文件写入文件。
3. 一边读取就一边写入,提高效率。
@Test
public void copyFile() {
String targetPath = "C:\\Users\\JinZh\\IdeaProjects\\TestJa\\software\\copy_directory\\file02.txt";
String filePath = "C:\\Users\\JinZh\\IdeaProjects\\TestJa\\software\\file02.txt";
// 创建文件输入流,将文件读入到程序
// 创建文件输出流,将读取到的文件
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream(filePath);
fileOutputStream = new FileOutputStream(targetPath, true);
// 定义字节数组提高效率
byte[] buf = new byte[1024];
int readLen = 0;
while ((readLen = fileInputStream.read(buf)) != -1) {
// 读取到就写入文件,通过fileoutputstream,一边读一边写。
fileOutputStream.write(buf, 0, readLen);
}
System.out.println("拷贝成功");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileInputStream != null) {
fileInputStream.close();
}
if (fileOutputStream != null) {
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}