如何识别文件是不是为带有 Java/JavaFX 的图像(.jpg、.png ...)? [复制]

Posted

技术标签:

【中文标题】如何识别文件是不是为带有 Java/JavaFX 的图像(.jpg、.png ...)? [复制]【英文标题】:How to identify if the file is an Image (.jpg, .png ...) with Java/JavaFX? [duplicate]如何识别文件是否为带有 Java/JavaFX 的图像(.jpg、.png ...)? [复制] 【发布时间】:2016-05-05 19:27:16 【问题描述】:

我正在寻找如何识别或检查用户选择的文件是否为图像(例如扩展名:.jpg 或 .png 或 .bmp 等)。 请注意,图像不仅仅是一个文件,它是图像列表。 我试过这段代码:

final File folder = new File( oo );
final File[] listOfFiles = folder.listFiles();
ImageView imageView = new ImageView();
String mimeType = new MimetypesFileTypeMap().getContentType( folder );
String type = mimeType.split( "/" )[0].toLowerCase();
if ( !type.equals( "image" ) ) 
    //TODO

else 
    //TODO

在尝试该代码后没有任何改变,我仍然遇到问题。我怎么能这样做,非常感谢:-)

【问题讨论】:

【参考方案1】:

如果您传入文件夹而不是 listOfFiles 中的文件,您希望从 getContentType 获得什么?

【讨论】:

【参考方案2】:

您必须遍历数组“listOfFiles”的所有文件并检查每个条目的 mime。我建议您添加一个以 true 开头的布尔标志。如果您发现一个文件不是图像,则将该标志设置为 false。 如果循环后标志仍然true,则可以继续。否则,您会显示一个错误对话框。

【讨论】:

以上是关于如何识别文件是不是为带有 Java/JavaFX 的图像(.jpg、.png ...)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 java (javaFX) 模块添加到默认模块路径?

java JavaFX - 获取“Home”文件夹

如何识别文件是不是是java中的命名管道

让应用识别“正确答案”

如何使用 JavaScript 识别数字是不是为整数 [重复]

如何识别文件夹中是不是存在 Lucene.Net 索引?