0

我正在编写一个程序,给定一个由单词和相关对象组成的文件,创建一个字典。例如,我可能将单词“Apple”与字符串对象“A red fruit”相关联

现在,有些对象是图像文件,有些是音频文件。在图像文件中,仅会考虑扩展名“.jpg”和“.gif”(即包含在文件中)。同样,对于音频文件,只会考虑“.wav”和“.mid”。

我已经有类来处理显示图像文件和播放音频文件,但我现在正试图弄清楚(在输入信息时)如何检测对象是图像文件还是音频文件,或者两者都不是。我正在考虑以某种方式检查对象的最后三个字符,例如,如果它是“jpg”,那么我会将其标记为图像类型对象。或者,如果它是上面“Apple”示例中的“uit”,那么它将被标记为两者都不是。但是,我不知道如何只检查字符串的最后三个字符。是否有一些内置方法可以自动执行此字符串检查?

4

2 回答 2

0

我认为检查文件名的最后 3 个字符不是一个好方法。您可以检查从'.'的最后一个索引开始的字符。(点)就像在这个实用方法中一样:

public static String getFileExtension(String fileName) 
{
    if (fileName == null || fileName.equals("") || !fileName.contains("."))
        return "";

    return fileName.substring(fileName.lastIndexOf('.'), fileName.length());
}
于 2012-11-18T05:39:11.140 回答
0

检查文件的扩展名并不是查找文件类型的好方法。

我有一个非常相似的情况,过了一段时间我发现最好的方法是检查mimeType. 我自己用mimemagic. 在这里你可以找到更多关于它的信息。

于 2012-11-18T06:08:48.990 回答