2012-04-30 33 views
0

我在写一个Java程序,它具有工作的文件拖放GUI。所有在DnD GUI中拖动的文件都放入一个保存文件名的字符串数组中。我有这种方法,通过在阵列循环和条路径中仅留下的文件名,然后发送文件名(扫描仪)的方法和所期望的输出文件名(对于PrintWriter的)在每个循环结束:Java方法无法拾取文件

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

我看到的第一个问题是你忽略了的异常,因此,如果打开输入文件成功,你不知道。即使您不知道如何处理它们,也不要忽略例外情况,将它们打印出来,以便稍后分析您的问题。

其次,调试代码,看看那里得到一个例外,如果有的话,看看有哪些每一步的值。

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

+0

我刚刚编辑了这个问题 - 没有错误发生,我应该注意到。我不使用Eclipse,我使用Geany/Gedit,所以它非常直接...所有的文件都在一个地方,调用这个生成器的方法完全剥离了路径,只留下文件名。谢谢你的评论...你有什么想法吗? – user1062058

+0

看看这个问题:http://stackoverflow.com/questions/4871051/getting-the-current-working-directory-in-java – MByD

+0

而且,通过一个空的catch块,你可能会错过任何抛出的错误在该方法中。 – MByD