FileNotFoundexception使用FileDialog

时间:2015-03-19 16:51:36

标签: java

的所有人。我在使用FileDialog选择文件时遇到了一些困难。对话框窗口打开,我可以选择文件,然后代码进入catch块。最奇怪的是,如果文件在我的项目文件夹中没有问题,但如果它在任何其他地方我得到java.io.FileNotFoundException。我使用了调试器,发现在执行行Scanner scanner = new Scanner(file);时会发生捕获的异常。有人可以帮助我,因为我没有想法。这是我的代码:

public void readData()
{
    try
    {
        FileDialog fileDialogBox = new FileDialog(mainWindow);
        fileDialogBox.setDirectory("C:\\Users\\Bobby\\Desktop\\");
        fileDialogBox.setVisible(true);
        File file = new File(fileDialogBox.getFile());
        Scanner scanner = new Scanner(file);
        String lineOfText = "";
        while (scanner.hasNext())
        {
            lineOfText = scanner.nextLine();
            if (lineOfText.startsWith("//") || lineOfText.isEmpty())
            {

            }
            else
            {
                lineOfText = lineOfText.trim();
                Scanner scanner2 = new Scanner(lineOfText);
                CD cd = new CD();
                cd.extractTokens(scanner2);
                addItem(cd);
            }
        }
        scanner.close();
    }
    catch(FileNotFoundException exception)
    {
        System.out.println(exception);
    }
    catch(IOException exception)
    {
        System.out.println(exception);
    }
}

1 个答案:

答案 0 :(得分:0)

正如我在评论中提到的:你必须添加文件名的路径:

File file = new File(fileDialogBox.getDirectory() + "/" + fileDialogBox.getFile());