求哥哥们帮助:判断两个文件是否相同,用队列的方法。
选的选修课是《计算机软件开发基础》,老师要我们用java编个程序,但我只学过简单的c++,老师没怎么讲java的编程基础。 目前我java 完全不会 。看了一些相关的书 想用数组来比较 但却不能比较两个字符数组是否相同。
更重要的是要用队列的方法才是完成考试... 求哥哥们帮助啊!
这是我写的用数组的方法 :
import java.io.*;
public class a1{
public static void main(String[]args) throws Exception{
File f1=new File("D:\\计算机软件开发基础\\1.txt");
File f2=new File("D:\\计算机软件开发基础\\2.txt");
FileInputStream fi=new FileInputStream(f1);
FileInputStream fis=new FileInputStream(f1);
char b;
char a;
for(int i=0;i<f1.length();i++)
{
a=(char)fi.read();
System.out.print(a);
}
fi.close();
for(int i=0;i<f2.length();i++)
{
b=(char)fi.read();
System.out.print(b);
}
fis.close();
if(f1.length()!=f2.length()){
System.out.println("文件不相同");}
else
{
for(int i=0;i<f1.length();i++)
{
这里无法比较 if(a[i] b[i]){
break;
System.out.println("文件不相同");}
else{
System.out.println("文件相同! ");
}
}
}
}
}
--------------------编程问答-------------------- 无法比较的地方 它提示是“表达式的类型必须是数组类型,但是它却解析为 char” --------------------编程问答-------------------- 一般计算两个文件的md5值,然后比较md5值即可
虽然md5值有可能重复,但这还是一个很好用的方法
qq的文件中转站就是这种方式,判断文件在服务器上是否已经存在,如果存在就重用这个文件 --------------------编程问答-------------------- 很多系统镜像(iso文件)文件都会发布一个md5值以供下载者校验镜像是否被破坏或篡改:http://www.baidu.com/s?tn=baiduhome_pg&ie=utf-8&bs=%E6%96%87%E4%BB%B6+MD5&f=8&rsv_bp=1&rsv_spt=1&wd=%E6%96%87%E4%BB%B6+MD5+java&rsv_sug3=4&rsv_sug=0&rsv_sug1=1&rsv_sug4=314&inputT=1190
补充:Java , 非技术区