0
 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プロジェクトのフォルダーを返しています。

ファイルダイアログで選択したファイルの正しいファイルの場所を取得するのを手伝ってください

4

2 に答える 2

3

AWTに固執する特別な理由はありますか?

JFileChooserそれ以外の場合は、代わりにダイアログを使用することをお勧めします。これを始めるのに役立ついくつかの関連リンクを次に示します。

于 2011-06-14T13:00:56.797 に答える
0

java.io.Fileのドキュメントから:

デフォルトでは、java.ioパッケージのクラスは、常に現在のユーザーディレクトリに対して相対パス名を解決します。

ダイアログからファイルの名前(相対パス)を取得するだけで、絶対パス(絶対パス)は取得しません。4行目でファイルオブジェクトを作成すると、ファイルが現在のディレクトリに存在することが期待されます。

代わりに以下を使用してください。

String selectedFile=fc.getFile();
String selectedDirectory=getDirectory();
File file = new File(selectedDirectory, selectedFile);
于 2011-06-14T14:36:12.857 に答える