基于用户输入复制文件的Java程序
用户输入源文件和目标文件,该文件将被复制。我遇到了一个IO错误,我不确定它是从哪里来的。如果我要打印文件A或文件B,我会得到正确的文件地址,所以我不知道如何调试它 代码如下:基于用户输入复制文件的Java程序,java,Java,用户输入源文件和目标文件,该文件将被复制。我遇到了一个IO错误,我不确定它是从哪里来的。如果我要打印文件A或文件B,我会得到正确的文件地址,所以我不知道如何调试它 代码如下: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.FileNotFoundException; public cl
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
public class Copy {
public Copy(String name) {
f(name);
}
private void f(String name) {
String[] files = name.split(" ");
File fileA = new File(files[0]);
File fileB = new File(files[1]);
if (name == "") {
System.out.println("Please specify FileA path and FileB path");
} else if (files.length == 1) {
System.out.println("Please specify two files and their paths");
} else if (!fileA.exists()) {
System.out.println("FileA does not exist");
} else if (fileB.exists()) {
System.out.println("File already exists");
} else if (fileA.isDirectory()) {
System.out.println("FileA is a directory - needs to be a file");
} else {
try {
FileInputStream fis = new FileInputStream(fileA);
FileOutputStream fos = new FileOutputStream(fileB);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
} catch (FileNotFoundException ex) {
}
}
}
}
您收到的错误消息是什么?您需要捕获
IOException
以及FileNotFoundException
才能编译此文件。如果这不是学习作业,您可以使用java.nio.File.copy()
更改catch异常,谢谢!