基于用户输入复制文件的Java程序

基于用户输入复制文件的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

用户输入源文件和目标文件,该文件将被复制。我遇到了一个IO错误,我不确定它是从哪里来的。如果我要打印文件A或文件B,我会得到正确的文件地址,所以我不知道如何调试它

代码如下:

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异常,谢谢!