0

我正在编写一个 Java 程序,该程序具有文件的工作拖放 GUI。在 DnD GUI 中拖动的所有文件都放入包含文件名的字符串数组中。我有一个方法可以遍历数组并剥离路径以仅保留文件名,然后在每个循环结束时将文件名(用于扫描仪)和所需的输出文件名(用于 PrintWriter)发送到此方法:

public void fileGenerator(String in, String out) {          
    try {
    String current_directory = System.getProperty("user.dir");
    Scanner input = new Scanner(new FileReader(current_directory+"/"+in));
    PrintWriter output = new PrintWriter(current_directory+"/"+out);
        while(input.hasNext()) {
            String line = input.nextLine();
            output.println(line);
        } output.close(); 
    input.close();
    } catch (FileNotFoundException e) {
        System.out.println(e.getMessage());
    }
}

该代码不起作用,它不会生成输出文件。我收到完整路径的“没有这样的文件或目录”错误...我已经在终端中对其进行了测试,它是正确的路径。任何输入表示赞赏。

我应该注意到所有的 Java 源文件、类和输入文件都在同一个目录中。

谢谢!

4

1 回答 1

1

我看到的第一个问题是你忽略了异常,所以你不知道它是否成功打开了输入文件。不要忽略异常,即使你不知道如何处理它们,打印它们以便以后分析你的问题。

其次,调试代码,看看它在哪里得到了异常,如果有的话,看看每一步的值是什么。

第三,回答您的问题,假设您使用Eclipse,如果您引用具有相对路径的文件,则工作目录不是源/类文件夹,而是项目文件夹。

于 2012-04-30T23:24:37.297 回答