Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过文件资源管理器获取文件路径_Java_File_Filepath - Fatal编程技术网

Java 通过文件资源管理器获取文件路径

Java 通过文件资源管理器获取文件路径,java,file,filepath,Java,File,Filepath,首先,如果以前有人问过这个问题,或者有关于这个主题的文档,我很抱歉,但是我没有发现任何东西。 我想制作一个windows应用程序,打开windows文件资源管理器,您可以浏览并选择一个mp3文件,这样您就可以在此程序中播放(并重播)。我知道如何打开文件资源管理器,这是我的代码: import java.awt.Desktop; import java.io.File; import java.io.IOException; public class Main {

首先,如果以前有人问过这个问题,或者有关于这个主题的文档,我很抱歉,但是我没有发现任何东西。 我想制作一个windows应用程序,打开windows文件资源管理器,您可以浏览并选择一个mp3文件,这样您就可以在此程序中播放(并重播)。我知道如何打开文件资源管理器,这是我的代码:

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
    public class Main 
        {
           public static void main(String[] args) throws IOException {
                Desktop desktop = Desktop.getDesktop();
                File dirToOpen = null;
                try {
                    dirToOpen = new File("c:\\");
                    desktop.open(dirToOpen);
                } catch (IllegalArgumentException iae) {
                    System.out.println("File Not Found");
                }
            }
        }

但是我不知道如何选择一个mp3文件,然后获得文件的路径,这样我以后可以播放它。

我认为你没有做到这一点。您应该使用类似文件对话框的方式来选择文件:

FileDialog fd = new FileDialog(new JFrame());
fd.setVisible(true);
File[] f = fd.getFiles();
if(f.length > 0){
    System.out.println(fd.getFiles()[0].getAbsolutePath());
}
由于您只获得1个MP3文件,因此只需要从
getFiles()
方法返回的文件数组的第一个索引。由于它是一个模式对话框,应用程序的其余部分将等到您选择文件之后。如果您想一次获取多个文件,只需循环上述文件数组


请参阅此处的文档:

并检查文件数组的大小-它可能是0。@MikeBaranczak感谢您的提醒。有点懒是的我不知道FileDialog。这是一个很好的解决方案。非常感谢@A.Sharma我想补充一点,您必须通过
FileDialog.setMultipleMode(bool)设置多个文件