私は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
File file = fileChooser.getCurrentDirectory();
String fullPath = file.getCanonicalPath(); // or getAbsolutePath()
現在のディレクトリを知りたい場合:
fileChooser.getCurrentDirectory()
選択したファイルを取得したい場合:
fileChooser.getSelectedFile();
ファイルへの絶対パスを取得するには:
file.getAbsolutePath();
ここではFile Chooser API に関するすべての情報を取得します。
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クラスは何も開いたりリークしたりしません
File f = fileChooser.getCurrentDirectory(); //This will return the directory
File f = fileChooser.getSelectedFile(); //This will return the file
NetBeansでは、JFileChooserインスタンスの横にドット演算子を使用すると、自動コード表示(メソッド表示)機能により、JFileChooserで使用できるメソッドの完全なリストが提供されます。 getterメソッドをナビゲートしてさらにオプションを見つけ、netbeansによって表示される小さなJavadockを読んでください。
ファイルセレクターを設定して、ディレクトリ以外のすべてのファイルを除外します。
yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);