判断文件是否是png图片的java代码
public class FindPNG {
public static void main(String[] args) throws IOException {
String path;
Scanner scanner = new Scanner(System.in);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("文件夹地址");
path = bufferedReader.readLine();
File file = new File(path);
/*89 50 4E 47 0D 0A 1A 0A*/
byte[] pngStartBytes = new byte[]{(byte) 0x89, 0x50, 0x4e, 0x47, 0x0D, 0x0A, 0x1A, 0x0A};
for (File subFile : file.listFiles()) {
if (!subFile.getName().endsWith("png")) {
continue;
}
BufferedInputStream bis = null;
try {
bis = new BufferedInputStream(new FileInputStream(subFile));
byte[] buffer = new byte[8];
bis.read(buffer);
for (int i = 0; i < pngStartBytes.length; i++) {
byte b1 = pngStartBytes[i];
byte b2 = buffer[i];
if (b1 != b2) {
System.out.println(subFile.getAbsolutePath());
break;
}
}
} finally {
if (bis != null) {
bis.close();
}
}
}
}
}