4.利用文件输入/输出流和缓冲流编写一个实现文件拷贝的程序,源文件名和目标文件名通过Scanner类从控制台获取。
时间: 2023-11-22 12:52:12 浏览: 71
以下是实现文件拷贝的程序:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("请输入源文件名:");
String sourceFileName = reader.readLine();
System.out.print("请输入目标文件名:");
String targetFileName = reader.readLine();
FileInputStream fis = new FileInputStream(sourceFileName);
FileOutputStream fos = new FileOutputStream(targetFileName);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
System.out.println("拷贝完成!");
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
程序首先创建一个BufferedReader对象,从控制台获取源文件名和目标文件名。然后创建一个FileInputStream对象和一个FileOutputStream对象,分别用于读取源文件和写入目标文件。程序使用一个byte数组作为缓冲区,每次读取1024个字节,并将其写入目标文件中。最后关闭输入流和输出流,输出拷贝完成的信息。
阅读全文