用Java实现以下功能修改程序CopyFileStream.java,要求利用main方法的参数,输入得到输入流和输出流文件名。
时间: 2024-02-27 09:51:54 浏览: 67
一个简单的java输入输出程序,实现文件流操作
3星 · 编辑精心推荐
好的,我可以帮你解答这个问题。
首先,需要明确的是,CopyFileStream.java应该是一个已经存在的Java程序,你需要修改它的功能,实现利用main方法的参数输入得到输入流和输出流文件名的功能。
以下是修改后的CopyFileStream.java代码,注释中有详细的解释:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyFileStream {
public static void main(String[] args) {
// 判断输入参数是否符合要求
if (args.length != 2) {
System.out.println("请输入正确的输入流和输出流文件名!");
return;
}
// 获取输入流和输出流文件名
String inputFileName = args[0];
String outputFileName = args[1];
// 创建输入流和输出流
InputStream inputStream = null;
OutputStream outputStream = null;
try {
// 创建输入流
File inputFile = new File(inputFileName);
inputStream = new FileInputStream(inputFile);
// 创建输出流
File outputFile = new File(outputFileName);
outputStream = new FileOutputStream(outputFile);
// 复制数据
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭输入流和输出流
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (outputStream != null) {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
```
在命令行中,执行以下命令:
```
java CopyFileStream inputFile.txt outputFile.txt
```
其中,inputFile.txt是输入流文件名,outputFile.txt是输出流文件名。执行该命令后,程序将会把inputFile.txt文件中的内容复制到outputFile.txt文件中。
希望我的解答对你有所帮助!
阅读全文