Как открыть текстовый файл (или любой файл), расположенный в папке, отличной от папки проекта в Java - PullRequest
0 голосов
/ 14 июня 2011
 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 ]

3 голосов
/ 14 июня 2011

Есть ли какая-то конкретная причина придерживаться AWT?

В противном случае я предлагаю вам использовать диалог JFileChooser. Вот несколько ссылок, которые помогут вам начать это:

0 голосов
/ 14 июня 2011

Из документа для java.io.File :

По умолчанию классы в java.io пакет всегда разрешать относительно пути к текущему пользователю каталог.

Вы извлекаете только имя файла (относительный путь) из диалога, а не полный путь (абсолютный). Когда вы создаете объект файла в строке 4, он ожидает, что файл существует в текущем каталоге.

Вместо этого используйте следующее:

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