【发布时间】:2012-05-14 06:05:39
【问题描述】:
有没有一种内置方法可以在 java 中获取计算机上的所有媒体文件(电影、音乐)?
【问题讨论】:
有没有一种内置方法可以在 java 中获取计算机上的所有媒体文件(电影、音乐)?
【问题讨论】:
不,不是内置的。但是,您可以创建一个爬虫来扫描您的整个硬盘驱动器以查找具有某些扩展名(甚至更好的是 MIME 类型)的文件。
查看此答案以获取遍历目录的简单方法:https://stackoverflow.com/a/3154523/691606
另见Get the Mime Type from a File。基于其中显示的 1st 2 (of 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 . . .
【讨论】:
File 或FileSystemView 中看不到任何内容。
URLConnection 中均未被识别。 4) MP3 不被任何人识别。呵呵。
遍历文件系统的所有文件夹并查找具有所需扩展名的文件(如果有时间的话)。
【讨论】: