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

时间:2015-11-11 18:47:57

标签: java if-statement audio switch-statement jpanel

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

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

然而,这是我现在的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。但我真的不知道如何更进一步。所以你们需要任何帮助! :)

在人们尝试从播放.Wav和.Mp3的帖子中提出任何建议之前。我首先要说的是我已经阅读了它,并且只有关于它们的答案,只有mp3或.Wav。不是都。这就是我创建这个帖子的原因,因为我需要帮助!

2 个答案:

答案 0 :(得分:0)

您可以检查文件路径是以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
}
编辑:这个方法和波格丹的回答可能是你最好的选择。

答案 1 :(得分:0)

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

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

How to add file filter for JFileChooser dialog