文件扩展名-用于文件.(.Mp3和.Wav)



我设法制作了一个可以理解Java中mp3的程序(通过jaco.mp3 jar),并且它可以工作。然而,这意味着.Wav文件当然不起作用。所以我修复了,这样我就可以使用Wav了,但问题是我那时不能使用mp3。所以我发现我可以使用文件扩展名,我的想法是这样做:

如果最后3或4个字母以.mp3结尾,则使用mp3方法,如果是.Wav,则使用Wave方法。但我真的不知道如何一起管理它,我想的更像是Switch的声明。但我以前从未使用过文件扩展名,可能需要一些帮助!

然而,这是我的mp3方法,现在是这样的:

public void Choose() {
        String userDir = System.getProperty("user.home");
        JFileChooser fileChooser = new JFileChooser(userDir +"/Desktop");
        int returnValue = fileChooser.showOpenDialog(null);
        if (returnValue == JFileChooser.APPROVE_OPTION) {
            File selectedFile = fileChooser.getSelectedFile();
            System.out.println(selectedFile.getName());
            mp3_player =  new MP3Player(selectedFile);
            lblPlayURL.setText(selectedFile.getName());
        }
    }
}

正如你所看到的,我有一个JFileChooser,我可以在那里选择我想要的歌曲,当然我仍然想做,只是不同的是,现在它应该同时作为.Wav和.mp3工作。但我真的不知道该怎么做。所以需要你们的帮助!:)

在人们试图从一个写着Playing.Wav和.Mp3的帖子中给出任何建议之前。我只想首先说,我已经读过了,每个都只有答案,只有mp3或.Wav,而不是两者都有。所以这就是我创建这个线程的原因,因为我需要帮助!

您可以检查文件路径是否以MP3或WAV结尾,并根据条件使用if语句来运行不同的程序。

这可以这样做:

String ext = selectedFile.getPath();
if(ext.endsWith(".wav"))
{
    // A WAV file was chosen
}
else if(ext.endsWith(".mp3"))
{
    // An MP3 file was chosen
}
else
{
    // Something else was chosen
}

编辑:这个方法和博格丹的答案可能是你最好的选择。

FileFilter规则添加到JFileChooser以匹配.mp3.wav文件:

fileChooser.addChoosableFileFilter(new FileTypeFilter(".mp3", "MP3 Files"));
fileChooser.addChoosableFileFilter(new FileTypeFilter(".wav", "WAV files"));

如何为JFileChooser对话框添加文件过滤器。

相关内容

最新更新