java如何判断图片文件的宽度和高度?

Python017

java如何判断图片文件的宽度和高度?,第1张

判断图片文件的宽度和高度:

InputStream is = new FileInputStream(filename)//通过文件名称读取或InputStream is =new ByteArrayInputStream(byte[] a)//通过文件的字节数组读取。

BufferedImage buff = ImageIO.read(is)

buff.getWidth() //得到图片的宽度

buff.getHeight()�0�2 //得到图片的高度

is.close()//关闭Stream

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。

简单方案:可以通过文件夹内文件的后缀名字判断。

复杂的要通锅都区每个文件内容,判断文件是否为图片。不同格式的图片文件,二进制文件内容结构是不同的,但是这样就比较麻烦,而且文件读写,效率不高。

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 {

// 图片文件后缀

Set<String> 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

}

}