「java判断是否图片」如何判断图片
本篇文章给大家谈谈java判断是否图片,以及如何判断图片对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java中判断URL地址的图片是否有效
- 2、Java判断文件是否为图片,如果用ImageIO读取的文件名有中文出出现异常,这个怎么处理
- 3、java图像上传中如何判断是否是jpg格式
- 4、java如何判断文件是否为图片
- 5、Java根据文件内容判断是否是图片。
- 6、java 文件 夹里面是否含有图片
Java中判断URL地址的图片是否有效
下面给你分享一个小工具类,可以帮到你
/**
* 判断网络图片是否存在
* posturl 图片地址链接
*/
public static String isImagesTrue(String posturl) throws IOException {
URL url = new URL(posturl);
HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
urlcon.setRequestMethod("POST");
urlcon.setRequestProperty("Content-type",
"application/x-www-form-urlencoded");
if (urlcon.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println(HttpURLConnection.HTTP_OK + posturl
+ ":posted ok!");
return "200";
} else {
System.out.println(urlcon.getResponseCode() + posturl
+ ":Bad post...");
return "404";
}
}
在上传图片的时候会生成一个图片地址链接,把这个链接调用这个工具类进行判断,如果返回200,则图片上传成功,返回其他则图片地址有误,或者上传失败。
Java判断文件是否为图片,如果用ImageIO读取的文件名有中文出出现异常,这个怎么处理
根据常见的图片文件,读头几个字节进行判断。。。。。。。。如果还报异常,就说明文件的头对、但不是真的图片
java图像上传中如何判断是否是jpg格式
通过文件的二进制流来判断一张图片是否为jpg格式的图片。
原理很简单:所有JPG/JPEG格式的图片都是以十六进制的'FF D8'作为文件开始,'FF
D9'作为文件结束标志。FF等为16进制数据,占文件的1 byte。如果没有带相机信息的jpg图片,第7, 8, 9,
10这4位上分别是字符'JFIF'的16进制表示,用UltraEdit打开可以直接看到;如果带有相机信息,有可能与不带信息的不同,也可能相同,不
同的话在那4位上为'Exif'字符的16进制表示,但是他们都是以FF D8开始,FF D9结束。
java如何判断文件是否为图片
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; iimgeArray.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;
}
Java根据文件内容判断是否是图片。
这样,当把一个非图片文件的扩展名改为jpg、gif或者bmp时,就能绕过限制。所以必须得通过读取文件内容来进行判断。这里提供两种实现代码。1、ImageInputStream iis = ImageIO.createImageInputStream(resFile);//resFile为需被Iteratorlt;ImageReadergt; iter = ImageIO.getImageReaders(iis);if (!iter.hasNext()) {//文件不是图片 System.out.println(quot;此文件不为图片文件quot;);}2、BufferedImage bi = ImageIO.read(resFile);if(bi == null){ System.out.println(quot;此文件不为图片文件quot;);}
java 文件 夹里面是否含有图片
简单方案:可以通过文件夹内文件的后缀名字判断。
复杂的要通锅都区每个文件内容,判断文件是否为图片。不同格式的图片文件,二进制文件内容结构是不同的,但是这样就比较麻烦,而且文件读写,效率不高。
import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class HasImage {
public static void main(String[] args) {
try {
boolean has = hasImage("E:\\BaiduZhidao");
System.out.println("文件夹下是否有图片:"+has);
} catch (IOException e) {
e.printStackTrace();
}
}
static boolean hasImage(String path) throws IOException {
// 图片文件后缀
SetString sets = new HashSet();
sets.add(".jpg");
sets.add(".png");
sets.add(".gif");
sets.add(".bmp");
File file = new File(path);
// System.out.println(file.isDirectory());
if (file.isFile()) {
String fileName = file.getName();
if (fileName.lastIndexOf(".") 0) {
String sufix = fileName.substring(fileName.lastIndexOf("."));
if (sets.contains(sufix.toLowerCase())) {
return true;
}
}
}
if (file.isDirectory()) {
// System.out.println(file.getCanonicalPath());
File[] files = file.listFiles();
for (File file2 : files) {
boolean has = hasImage(file2.getAbsolutePath());
if (has) {
return true;
}
}
}
return false;
}
}
java判断是否图片的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何判断图片、java判断是否图片的信息别忘了在本站进行查找喔。
发布于:2022-12-15,除非注明,否则均为
原创文章,转载请注明出处。