【问题标题】:how to open a text file(or any file) located in a folder other than the project folder in java如何在java中打开位于项目文件夹以外的文件夹中的文本文件(或任何文件)
【发布时间】:2011-09-14 16:28:11
【问题描述】:
 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 项目的文件夹。

请帮我找到我在文件对话框中选择的任何文件的正确文件位置

【问题讨论】:

  • 请给出selectedFileabsolutepath的示例输出。
  • SelectedFile = MyFile.txt, absolutepath = "C:\Documents and Settings\MyUserName\Desktop\My_Project_Folder" 而不是 "C:\TestFolder\MyFiles\"

标签: java file-io file-handling


【解决方案1】:

坚持使用 AWT 有什么特别的原因吗?

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

【讨论】:

    【解决方案2】:

    来自java.io.File 的文档:

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

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

    改用以下内容:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多