Netbeans 7.1.2 を使用してアプリケーションを作成しており、ファイル チューザーを使用していますが、ファイル チューザーでファイルを取得したくありません。代わりに、現在のディレクトリへのフル パスを返します。
ユーザーがここで開くをクリックすると、ファイルではなくフルパスが返されるようにします。どうすればいいですか?
Netbeans 7.1.2 を使用してアプリケーションを作成しており、ファイル チューザーを使用していますが、ファイル チューザーでファイルを取得したくありません。代わりに、現在のディレクトリへのフル パスを返します。
ユーザーがここで開くをクリックすると、ファイルではなくフルパスが返されるようにします。どうすればいいですか?
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から
現在のディレクトリを知りたい場合:
fileChooser.getCurrentDirectory()
選択したファイルを取得する場合:
fileChooser.getSelectedFile();
ファイルへの絶対パスを取得するには:
file.getAbsolutePath();
File Chooser APIに関するすべての情報は、こちら で入手できます。
File file = fileChooser.getCurrentDirectory();
String fullPath = file.getCanonicalPath(); // or getAbsolutePath()
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 クラスは何も開いたり漏らしたりしません。