1

更具体地说,它确实有效,但前提是我选择了一个存在于我的程序及其资源所在的源文件夹中的文件。当我将文件移动到桌面或我的文档并尝试从那里读取它时,我得到一个FileNotFoundException.

这是我的代码:

private void btnBrowseFileActionPerformed(java.awt.event.ActionEvent evt) {                                              
    JFileChooser myFileChooser = new JFileChooser();
    int rVal = myFileChooser.showOpenDialog(Singlelayer.this);
    if (rVal == JFileChooser.APPROVE_OPTION) {
        txtFile.setText(myFileChooser.getSelectedFile().getName());
    }
}

如您所见,它附加到“浏览...”按钮,因此它是 GUI 的一部分。但这无关紧要。

它不适用于与其他源文件不在项目文件夹中的任何文件。不完全确定发生了什么,但任何帮助将不胜感激。

4

2 回答 2

3

您正在使用文件名:

txtFile.setText(myFileChooser.getSelectedFile().getName());

它返回文件的名称。所以它只识别源文件夹中的文件。

相反,您应该使用文件路径

于 2013-04-19T16:01:24.167 回答
0

您需要使用由 myFileChooser.getSelectedFile() 语句返回的 File 类对象的 getPath()。

eg
  File file = myFileChooser.getSelectedFile();
  String path = file.getPath();
  String name = file.getName();

现在用到了这些路径、名称变量。

于 2013-04-19T18:09:24.013 回答