3.用两种方法实现文件的拷贝功能。 (1)FileInputStream/FileOutputStream (2)BufferedInputStream/BufferedOutputStream
时间: 2024-06-20 07:04:13 浏览: 122
FileInputStream和FileoutputStream的使用语法和实例
文件的拷贝功能可以用两种方式来实现:
1. 使用FileInputStream/FileOutputStream实现文件拷贝功能:
这种方法是使用字节流来完成文件的读写操作,需要创建一个FileInputStream对象来读取源文件,再创建一个FileOutputStream对象来写入目标文件,通过循环不断从源文件中读取数据,并将其写入目标文件中,直到读取完整个源文件。代码如下:
```
public static void copyFileUsingStream(File source, File dest) throws IOException {
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(source);
os = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
} finally {
is.close();
os.close();
}
}
```
2. 使用BufferedInputStream/BufferedOutputStream实现文件拷贝功能:
这种方法是使用缓冲字节流来完成文件的读写操作,需要创建一个BufferedInputStream对象来读取源文件,再创建一个BufferedOutputStream对象来写入目标文件,通过循环不断从源文件中读取数据,并将其写入目标文件中,直到读取完整个源文件。代码如下:
```
public static void copyFileUsingBuffer(File source, File dest) throws IOException {
InputStream is = null;
OutputStream os = null;
try {
is = new BufferedInputStream(new FileInputStream(source));
os = new BufferedOutputStream(new FileOutputStream(dest));
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
} finally {
is.close();
os.close();
}
}
```
阅读全文