java中使用字节输入流和输出流从磁盘中拷贝一个文件,具体执行过程
时间: 2023-05-31 19:04:13 浏览: 119
1. 创建File对象,指定源文件和目标文件的路径。
2. 创建FileInputStream对象,读取源文件。
3. 创建FileOutputStream对象,写入目标文件。
4. 定义一个byte数组作为缓存区,大小一般为1024字节。
5. 使用while循环,每次读取缓存区大小的数据,直到读取完整个文件。
6. 将读取到的数据写入目标文件。
7. 关闭输入流和输出流。
代码实现如下:
```java
import java.io.*;
public class CopyFile {
public static void main(String[] args) {
// 源文件路径和目标文件路径
String sourceFilePath = "C:\\source.txt";
String targetFilePath = "C:\\target.txt";
// 创建File对象
File sourceFile = new File(sourceFilePath);
File targetFile = new File(targetFilePath);
// 创建输入流和输出流
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(sourceFile);
fos = new FileOutputStream(targetFile);
// 定义缓存区
byte[] buffer = new byte[1024];
int length;
// 循环读取数据
while ((length = fis.read(buffer)) != -1) {
fos.write(buffer, 0, length);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭输入流和输出流
try {
if (fis != null) {
fis.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
阅读全文