Java方法无法拾取文件

时间:2012-04-30 23:19:25

标签: java file-io java.util.scanner

我正在编写一个Java程序,它有一个工作拖放文件的GUI。在DnD GUI中拖动的所有文件都放入一个包含文件名的String数组中。我有一个方法循环数组并剥离路径只留下文件名,然后在每个循环结束时将文件名(对于Scanner)和所需的输出文件名(对于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源文件,类和输入文件都在同一目录中。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

其次,调试代码,查看它获得异常的位置,如果有的话,看看每一步的值是什么。

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