在Java中选择文件夹目标?

我是Java的新手。 我正在尝试动态选择文件位置以保存项目的结果(在项目的最开始时启动)。 我使用了一些FileDialog示例,但是每个示例都允许我选择一个文件而不是文件夹。

任何人都可以帮我一个示例(或)链接到同一个?

您可以尝试这样的事情(如下所示: 使用JFileChooser选择目录 ):

import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.util.*; public class DemoJFileChooser extends JPanel implements ActionListener { JButton go; JFileChooser chooser; String choosertitle; public DemoJFileChooser() { go = new JButton("Do it"); go.addActionListener(this); add(go); } public void actionPerformed(ActionEvent e) { chooser = new JFileChooser(); chooser.setCurrentDirectory(new java.io.File(".")); chooser.setDialogTitle(choosertitle); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // // disable the "All files" option. // chooser.setAcceptAllFileFilterUsed(false); // if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); System.out.println("getSelectedFile() : " + chooser.getSelectedFile()); } else { System.out.println("No Selection "); } } public Dimension getPreferredSize(){ return new Dimension(200, 200); } public static void main(String s[]) { JFrame frame = new JFrame(""); DemoJFileChooser panel = new DemoJFileChooser(); frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); frame.getContentPane().add(panel,"Center"); frame.setSize(panel.getPreferredSize()); frame.setVisible(true); } } 

Oracles Java教程文件选择器: http : //docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html

注意getSelectedFile()返回所选文件夹,尽管名称。 getCurrentDirectory()返回所选文件夹的目录。

 import javax.swing.*; public class Example { public static void main(String[] args) { JFileChooser f = new JFileChooser(); f.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); f.showSaveDialog(null); System.out.println(f.getCurrentDirectory()); System.out.println(f.getSelectedFile()); } } 

尝试这样的事情

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

与JFileChooser一起使用可以使用:

 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 

有一个像Windows一样的外观和感觉。

对于其他设置,请在此处查看: https : //docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html#available

我在这个链接中找到了你需要的一个很好的例子。

 import javax.swing.JFileChooser; public class Main { public static void main(String s[]) { 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 "); } } }