1.用FileInputStream和FileOutputStream来实现一个文件移动程序,并测试移动1G文件所需要的时间。
时间: 2024-05-08 15:21:44 浏览: 44
详解FileInputStream读取文件数据的两种方式
下面是一个使用FileInputStream和FileOutputStream实现文件移动的示例代码:
```java
import java.io.*;
public class FileMoveExample {
public static void main(String[] args) {
String srcFilePath = "source_file_path"; // 源文件路径
String destFilePath = "destination_file_path"; // 目标文件路径
long startTime = System.currentTimeMillis(); // 记录开始时间
try (InputStream in = new FileInputStream(srcFilePath);
OutputStream out = new FileOutputStream(destFilePath)) {
byte[] buffer = new byte[4096]; // 缓冲区大小为4KB
int len;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len); // 从源文件读取数据到缓冲区,再将数据写入目标文件
}
} catch (IOException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis(); // 记录结束时间
long duration = endTime - startTime; // 计算耗时
System.out.println("File moved successfully in " + duration + " ms");
}
}
```
需要注意的是,上面的代码中使用了try-with-resources语句来自动关闭文件流,这是从Java 7开始引入的一种简化代码的方式。
测试移动1G文件所需要的时间会受到多种因素的影响,包括硬件性能、磁盘读写速度等等。因此,无法给出具体的时间估计。
阅读全文