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项目文件夹。
请帮助我获取我在文件对话中选择的任何文件的正确文件位置
答案 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);