1

javaでコンピューター上のすべてのメディアファイル(映画、音楽)を取得する組み込みの方法はありますか?

4

2 に答える 2

6

いいえ、組み込みではありません。ただし、ハード ドライブ全体をスキャンして、特定の拡張子 (さらには MIME タイプ) のファイルを探すクローラーを作成することもできます。

ディレクトリを反復処理する簡単な方法については、この回答を確認してください: https://stackoverflow.com/a/3154523/691606

ファイルから MIME タイプを取得するも参照してください。そこに示されている最初の2つ(3つのうち)のテクニックに基づいて、これは次のとおりです。

import javax.activation.MimetypesFileTypeMap;
import java.io.File;

class MimeForMedia {

    public static void main(String[] args) {
        String[] types = {
            "png", "jpg", "gif", "tif", "bmp",  // image
            "snd", "wav", "mp3", "ogg", "au",   // sound
            "mov", "avi", "mpg", "flv"  // video
            };
        MimetypesFileTypeMap typeMap = new MimetypesFileTypeMap();
        for (String type : types) {
            String name = "a." + type;
            String bestType = typeMap.getContentType(name);
            if (bestType.equals("application/octet-stream")) {
                System.out.print( "Using URLConnection:  " );
                try {
                    bestType = (new File(name)).toURI().toURL()
                        .openConnection().getContentType();
                } catch(Exception e) {
                    System.out.println( e.getMessage() );
                }
            }
            System.out.println (type + "  " + bestType);
        }
    }
}

以下は、Windows 7 PC での結果です。

Using URLConnection:  png  image/png
jpg  image/jpeg
gif  image/gif
tif  image/tiff
Using URLConnection:  bmp  content/unknown
Using URLConnection:  snd  audio/basic
wav  audio/x-wav
Using URLConnection:  mp3  content/unknown
Using URLConnection:  ogg  content/unknown
au  audio/basic
mov  video/quicktime
avi  video/x-msvideo
mpg  video/mpeg
Using URLConnection:  flv  content/unknown
Press any key to continue . . .
于 2012-05-04T17:06:25.660 に答える
5

ファイル システムのすべてのフォルダーを繰り返し処理し、必要な拡張子を持つファイルを探します (時間があれば)。

于 2012-05-04T17:06:10.980 に答える