的所有人。我在使用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);
}
}
答案 0 :(得分:0)
正如我在评论中提到的:你必须添加文件名的路径:
File file = new File(fileDialogBox.getDirectory() + "/" + fileDialogBox.getFile());