Java获取选定文件夹路径

Java获取选定文件夹路径,java,swing,Java,Swing,在应用程序中,im要求用户选择文件夹,但使用下面的代码,im无法将此输入用作变量路径 public class csvtoxls { public static void main() throws IOException { JFileChooser jfc = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory()); jfc.setDialogTitle("Wy

在应用程序中,im要求用户选择文件夹,但使用下面的代码,im无法将此输入用作变量路径

public class csvtoxls {

    public static void main() throws IOException {

        JFileChooser jfc = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
        jfc.setDialogTitle("Wybierz folder do konwersji: ");
        jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        jfc.setAcceptAllFileFilterUsed(false);
        int returnValue = jfc.showSaveDialog(null);
        if (returnValue == JFileChooser.APPROVE_OPTION) {
            if (jfc.getSelectedFile().isDirectory()) {
                System.out.println("You selected the directory: " + jfc.getSelectedFile());
因此,为了实现这一点,我使用了以下函数:

public class getpath {

      public static String pickPath(JFileChooser fileChooser)
      {
        String path = null;

        /* create a JFrame to be the parent of the file 
         * chooser open dialog if you don't do this then 
         * you may not see the dialog.
         */
        JFrame frame = new JFrame();
        frame.setAlwaysOnTop(true);

        // get the return value from choosing a file
        int returnVal = fileChooser.showOpenDialog(frame);

        // if the return value says the user picked a file 
        if (returnVal == JFileChooser.APPROVE_OPTION)
          path = fileChooser.getSelectedFile().getPath();
        return path;

      }
}
变量:

Path workDir = Paths.get(getpath.pickPath(jfc));

这个解决方案的问题是用户必须选择两次文件夹,这很容易导致错误。有没有办法让这条路更容易呢?

1)要更快地获得更好的帮助,请发布一个或。2) 请学习常见的Java命名法(命名约定-例如,
EachWordUpperCaseClass
firstWordLowerCaseMethod()
firstWordLowerCaseAttribute
,除非它是一个
大写常量
),并一致地使用它。第一种方法有什么不起作用?两者都是JFileChooser。。。因此,它们都公开getSelectedFile()以返回路径的字符串值。只要把它放在一个变量的某个地方并使用它就行了。imo它与eclipse的问题,显示编译错误我修复了它发布解决方案:Path workDir=jfc.getSelectedFile().toPath();1) 为了更快地获得更好的帮助,请发布一个or。2) 请学习常见的Java命名法(命名约定-例如,
EachWordUpperCaseClass
firstWordLowerCaseMethod()
firstWordLowerCaseAttribute
,除非它是一个
大写常量
),并一致地使用它。第一种方法有什么不起作用?两者都是JFileChooser。。。因此,它们都公开getSelectedFile()以返回路径的字符串值。只要把它放在一个变量的某个地方并使用它就行了。imo它与eclipse的问题,显示编译错误我修复了它发布解决方案:Path workDir=jfc.getSelectedFile().toPath();