① java根据文件内容判断是否是图片。
这样,当把一个非图片文件的扩展名改为jpg、gif或者bmp时,就能绕过限制。所以必须得通过读取文件内容来进行判断。这里提供两种实现代码。1、ImageInputStream iis = ImageIO.createImageInputStream(resFile);//resFile为需被Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);if (!iter.hasNext()) {//文件不是图片 System.out.println("此文件不为图片文件");}2、BufferedImage bi = ImageIO.read(resFile);if(bi == null){ System.out.println("此文件不为图片文件");}
② 如何用Java判断两个文件内容是否相同
如果你维护这些文件列表,并且后期会不定期进行比较,也就是确定一个文件有多次被比较的机会。可以计算这些文件的MD5并缓存起来,后期直接用MD5进行比较。
如果只是临时性的随机选两个文件进行比较,可以先比较文件大小,如果文件大小不同就说明文件内容不相同。如果大小相等的话,可以打开这两个文件的输入流,字节逐一比较,如果中间有不相等的字节就说明两个文件不相等,然后直接退出比较,需要注意的是文件流要缓冲(BufferedInputStream)。
之所以不推荐MD5是因为MD5也需要根据文件全部内容计算散列值,可是实际上中途发现有一个字节不相同就可以判定这两个文件是不同的,根本没必要去读取文件的全部内容。
//in1, in2为两个文件的输入流,最后注意流的关闭
int c;
while ((c = in1.read()) != -1) {
if (in2.read() != c) return false;
}
return true;
③ 如何用Java判断两个文件内容是否相同
如果你维护这些文件列表,并且后期会不定期进行比较,也就是确定一个文件有多次被比较的机会。可以计算这些文件的MD5并缓存起来,后期直接用MD5进行比较。
如果只是临时性的随机选两个文件进薯碰行比较,可以先比较文件伍雹大小,如果文件大小不同就说明文件内容不相同。如果大小相等的话,可以打开这两个文件的输入流,字节逐一比较,如果中间有不相等的字节就说明两个文件不相等,然后直接退出比较,需要注意的是文件流要缓冲(BufferedInputStream)。
之所以不推荐MD5是因为MD5也需要根据文件全部内容计算散列值,可是实际上中途发现有一个字节不相同就可以判定这两个文件是不同的,根本没必要去读取文件的全部内容。
//in1,
in2为两个文件的输入流,数橘谈最后注意流的关闭
int
c;
while
((c
=
in1.read())
!=
-1)
{
if
(in2.read()
!=
c)
return
false;
}
return
true;
④ 如何用Java判断两个文件内容是否相同
//判断的办法是分别将两个文件读进来
//先判断着两个文件的长度,如果长度不一样,那肯定不一样
//如果两个文件的长度(大小)一样,那么就对文件中的每一个字节进行比对
//只要有一个字节不同,两个文件就不同。
//否则两个文件就是相同的
//代码如下:(JDK1.4+)(代码格式被吃掉了,请自己手工排一下)
package 兲髙亻壬鸟飞;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Answer1 {
public static void main(String[] args) {
//文件名要用绝对路径
//相对路径也可以,但是容易弄错
String fileName1 = "xxx";//写你需要判断的第一个文件的文件名
String fileName2 = "yyy";//写你需要判断的第二个文件的文件名
FileInputStream fis1 = null;
FileInputStream fis2 = null;
try {
fis1 = new FileInputStream(fileName1);
fis2 = new FileInputStream(fileName2);
int len1 = fis1.available();
int len2 = fis2.available();
if (len1 == len2) {//长度相同,则比较具体内容
⑤ java怎样判断一个文件中是否存在内容
packagetest1701;
importjava.io.FileInputStream;
importjava.io.IOException;
publicclassTest10{
publicstaticvoidmain(String[]args){
Stringpath="文件路径";
=null;
try{
fileInputStream=newFileInputStream(path);
if(fileInputStream.available()==0){
System.out.println("文件为空");
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(fileInputStream!=null){
try{
fileInputStream.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
}