如何打开位于java中项目文件夹以外的文件夹中的文本文件(或任何文件)

时间:2011-06-14 12:55:02

标签: java file-io file-handling

 FileDialog fc=new FileDialog (new Frame(),"Test File Dialog");
   fc.setVisible(true);
   String selectedFile=fc.getFile();
   File file = new File(selectedFile);
   String absolutepath = file.getAbsolutePath();

嗨,我正在尝试获取文本文件的完整文件路径。该文件位于我的java项目文件夹之外的不同文件夹中,但位于同一驱动器上。当我尝试使用上面的代码打开它时,我在SelectedFile中获取正确的文件名但file.getAbsolutePath()不会返回正确的文件位置。 file.getAbsolutePath()返回我的java项目文件夹。

请帮助我获取我在文件对话中选择的任何文件的正确文件位置

2 个答案:

答案 0 :(得分:3)

坚持AWT的任何特殊原因?

否则我建议您使用JFileChooser对话框。以下是一些相关链接,可帮助您开始:

答案 1 :(得分:0)

来自java.io.File的文档:

  

默认情况下java.io中的类   包始终解析相对   针对当前用户的路径名   。目录

您只从对话框中检索文件名(相对路径) - 而不是完整路径(绝对路径)。在第4行创建文件对象时,它希望该文件存在于当前目录中。

请改用以下内容:

String selectedFile=fc.getFile();
String selectedDirectory=getDirectory();
File file = new File(selectedDirectory, selectedFile);