如何获取计算机上的所有媒体文件

HAx*_*xor 1 java file java-io

是否有内置的方法可以在Java中的计算机上获取所有媒体文件(电影,音乐)?

Rad*_*aid 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是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 . . .
Run Code Online (Sandbox Code Playgroud)


tal*_*las 5

迭代文件系统的所有文件夹,查找具有所需扩展名的文件(如果有时间).