2

Java新手在这里!

我正在编写一个程序来练习读取输入并将输出写入文件。我已经完成了程序的编码,但是当我运行它时,程序只是捕获并继续执行 FileNotFoundException。

该文件位于程序的源文件夹中,我什至尝试将其放在与程序相关的每个文件夹中。我试过了:

  • 在方法头中声明异常
  • 用 try/catch 块包围有问题的部分。
  • 以上两者结合。

这是导致问题的相关代码。有什么突出我想念的吗?

public static void main(String[] args) throws FileNotFoundException  {

    Scanner keyboard = new Scanner(System.in);

    String playerHighestScore = "", playerLowestScore = "";
    int numPlayers = 0, scoreHighest = 0, scoreLowest = 0;

    System.out.println("Enter an input file name: ");               
            String inputFileName = keyboard.nextLine();                 

    String outputFileName = getOutputFileName(keyboard, inputFileName);     
    File inputFile = new File(inputFileName);
    try {
        Scanner reader = new Scanner(inputFile);
        reader.close();
    }
    catch (FileNotFoundException exception) {       
        System.out.println("There was a problem reading from the file.");                   
        System.exit(0);
    }

    Scanner reader = new Scanner(inputFile);
    PrintWriter writer = new PrintWriter(outputFileName);
4

1 回答 1

0

答案很简单。如果您得到 a FilENotFoundException,显然原因是在给定路径中未找到文件。
如果您使用 IDE,则工作目录的路径与源目录不同。
例如,如果您使用的是 NetBeans,则您的源文件位于/src. 但是您的工作目录 ( .) 是项目目录。
另一方面,问题可能是@Don 提到的。如果您要采用跨平台方法,则可以/在路径中使用“”。它与操作系统无关。
示例:String fileName = "C:/Directory/File.txt";
这些路径区分大小写。因此,请确保使用正确的大小写。(在您打包程序之前,这在 Windows 中不会有问题。)

于 2013-04-20T05:36:15.220 回答