0

単語と関連オブジェクトで構成されるファイルを指定して、辞書を作成するプログラムを作成しています。たとえば、文字列オブジェクト「A red fruit」に関連付けられた「Apple」という単語があるとします。

現在、オブジェクトの一部は画像ファイルで、一部は音声ファイルです。画像ファイルのうち、拡張子「.jpg」と「.gif」のみが考慮されます (つまり、ファイルに含まれます)。同様に、オーディオ ファイルの場合、「.wav」と「.mid」のみが考慮されます。

画像ファイルの表示と音声ファイルの再生を処理するクラスは既にありますが、(情報を入力するときに) オブジェクトが画像ファイルか音声ファイルか、またはどちらでもないかを検出する方法を見つけようとしています。どういうわけかオブジェクトの最後の 3 文字をチェックすることを考えていたので、たとえば "jpg" の場合はイメージ タイプ オブジェクトとしてマークします。または、上記の「Apple」の例のように「uit」の場合は、どちらでもないとマークされます。ただし、文字列の最後の 3 文字だけをチェックする方法がわかりません。この文字列チェックを自動的に行うための組み込みメソッドはありますか?

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 に答える