java如何判断文件是否为图片

不要说用后缀名去判断文件后缀名可以改的... 不要说用后缀名去判断 文件后缀名可以改的 展开
 我来答
小傻

2015-10-15 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31138
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

java中提供了ImageInputStream类来对文件是否为图片进行判断,示例如下:

/** 
  * 判断文件是否为图片<br> 
  * <br> 
  * @param pInput 文件名<br> 
  * @param pImgeFlag 判断具体文件类型<br> 
  * @return 检查后的结果<br> 
  * @throws Exception 
  */ 
public static boolean isPicture(String  pInput, 
                           String pImgeFlag) throws Exception{ 
  // 文件名称为空的场合 
  if(Check.isNull(pInput)){ 
   // 返回不和合法 
   return false; 
  } 
  // 获得文件后缀名 
  String tmpName = pInput.substring(pInput.lastIndexOf(".") + 1, 
                              pInput.length()); 
  // 声明图片后缀名数组 
  String imgeArray [][] = { 
    {"bmp", "0"}, {"dib", "1"}, {"gif", "2"}, 
    {"jfif", "3"}, {"jpe", "4"}, {"jpeg", "5"}, 
    {"jpg", "6"}, {"png", "7"} ,{"tif", "8"}, 
    {"tiff", "9"}, {"ico", "10"} 
  }; 
  // 遍历名称数组 
  for(int i = 0; i<imgeArray.length;i++){ 
   // 判断单个类型文件的场合 
   if(! Check.isNull(pImgeFlag) 
      && imgeArray [i][0].equals(tmpName.toLowerCase()) 
   && imgeArray [i][1].equals(pImgeFlag)){ 
    return true; 
   } 
   // 判断符合全部类型的场合 
   if(Check.isNull(pImgeFlag) 
      && imgeArray [i][0].equals(tmpName.toLowerCase())){ 
    return true; 
   } 
  } 
  return false; 
}
zlfday
2012-03-20 · 超过14用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:38.5万
展开全部
把文件转换下成图片,如果转换成功,那就是图片,失败的话,那就不是呗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明月清风618
2012-03-20 · TA获得超过737个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:131万
展开全部
用方法截取.jpg或者.gif格式的,然后判断嘛。File file = new File(the new file path);
FindFolderAllFiles(CString csFolderName)
{
CFileFind f;
BOOL bFind=f.FindFile(csFolderName+ "\\*.* ");
while(bFind)
{
bFind = f.FindNextFile();
if(f.IsDots()) continue;
if(f.IsDirectory())
{ FindFolderAllFiles(csFolderName+ "\\ "+f.GetFileName()); }
//Get File Name
TRACE(_T( "%s\r\n "),f.GetFileName());//f.GetFileName..
}
}
更多追问追答
追问
后缀名不可靠···
等待更好的方法··
追答
不判断后缀名你怎么弄;。。。你把取到的文件的名字保存到string里面。然后用int index = charAt(".").取得下标。然后substring(index,index+4)可以取到.jpg,然后你判断一下呗。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
点影天下
2015-10-01 · TA获得超过276个赞
知道小有建树答主
回答量:1474
采纳率:0%
帮助的人:654万
展开全部
可是判断文件名的后缀来区分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龘靐齉齾龗龞齽
2018-08-01
知道答主
回答量:2
采纳率:0%
帮助的人:1868
展开全部
public static boolean isPicture(InputStream input) {
if (input == null) {
return true;
}
BufferedImage bi = null;
try {
bi = ImageIO.read(input);
} catch (IOException e) {
FileLog.errorLog(e, "文件上传失败,原因:");
}
return (bi != null && bi.getHeight() > 0 && bi.getWidth() > 0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式