14

Netbeans 7.1.2 を使用してアプリケーションを作成しており、ファイル チューザーを使用していますが、ファイル チューザーでファイルを取得したくありません。代わりに、現在のディレクトリへのフル パスを返します。

ファイル チューザーの外観

ユーザーがここで開くをクリックすると、ファイルではなくフルパスが返されるようにします。どうすればいいですか?

4

6 に答える 6

21
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("choosertitle");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);

if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
  System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
  System.out.println("getSelectedFile() : " + chooser.getSelectedFile());
} else {
  System.out.println("No Selection ");
}

http://www.java2s.com/Code/Java/Swing-JFC/SelectadirectorywithaJFileChooser.htmから

于 2012-05-16T15:27:19.783 に答える
3

現在のディレクトリを知りたい場合:

fileChooser.getCurrentDirectory()

選択したファイルを取得する場合:

fileChooser.getSelectedFile();

ファイルへの絶対パスを取得するには:

file.getAbsolutePath();

File Chooser APIに関するすべての情報は、こちら で入手できます。

于 2012-05-16T15:28:19.747 に答える
2
File file = fileChooser.getCurrentDirectory();
String fullPath = file.getCanonicalPath(); // or getAbsolutePath()
于 2012-05-16T15:27:26.803 に答える
0

JDK 1.8 (NetBeans 8.0.1 を使用) では、次のように動作します。

String path = jOpen.getName(diagOpen.getSelectedFile()); // file's name only

String path = jOpen.getSelectedFile().getPath(); // full path

jOpen は jFileChooser です。Joachim が指摘したように、File クラスは何も開いたり漏らしたりしません。

于 2014-11-28T15:04:21.353 に答える