19. 使用文件IO完成cp命令相似功能; 示例:cp /home/edu118/1.txt /home/edu118/桌面/Test.txt ./main /home/edu118/1.txt /home/edu118/桌面/Test.txt
时间: 2024-11-04 17:10:12 浏览: 21
在Java中,如果你想要通过文件I/O模拟`cp`命令的功能,你可以创建一个简单的程序来读取源文件的内容,并将其内容写入到目标文件中。下面是一个基本的示例,假设有一个名为`Main`的类,它接受两个参数,即源文件路径和目标文件路径:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("Usage: ./main <source_file> <destination_file>");
return;
}
String sourceFile = args[0];
String destinationFile = args[1];
try {
// 读取源文件
File srcFile = new File(sourceFile);
FileInputStream fis = new FileInputStream(srcFile);
// 创建目标文件如果不存在,或者清空已存在的文件
File destFile = new File(destinationFile);
FileOutputStream fos = destFile.exists() ? new FileOutputStream(destFile, false) : new FileOutputStream(destFile);
byte[] buffer = new byte[1024]; // 一次读写的缓冲区大小
int length;
while ((length = fis.read(buffer)) != -1) {
fos.write(buffer, 0, length); // 将数据写入目标文件
}
// 关闭流
fis.close();
fos.close();
System.out.println("Source file copied to the destination successfully.");
} catch (FileNotFoundException e) {
System.err.println("Error: " + e.getMessage());
} catch (IOException e) {
System.err.println("An error occurred during file I/O operation: " + e.getMessage());
}
}
}
```
运行这个`Main`类需要提供命令行参数,就像`./main /home/edu118/1.txt /home/edu118/桌面/Test.txt`。
阅读全文