2)程序一行一行比较,当其中有一行不一样的时候,提示文件内容不同的行数以及内容;
3)如果文件内容一样,提示用户内容一样。
package buffered
import java.io.*
import java.lang.String
import java.util.Scanner
public class BufferedTest
{
public static void main(String[] args){
try{Scanner readr=new Scanner(System.in)<br/>System.out.println("输入第一个文件的路径及文件名:")<br/>String file1=readr.next()<br/>System.out.println("输入第二个文件的路径及文件名:")<br/>String file2=readr.next()<br/>FileReader inOne1=new FileReader(file1)<br/>BufferedReader inTwo1=new BufferedReader(inOne1)<br/>String s1=null<br/>int i=0//行数 <br/>boolean b=true//检察是行数 <br/>FileReader inOne2=new FileReader(file2)<br/>BufferedReader inTwo2=new BufferedReader(inOne2)<br/>String s2=null<br/>//文件内容对比 <br/>while((s1=inTwo1.readLine())!=null){ <br/>i++<br/>while((s2=inTwo2.readLine())!=null){ <br/><br/>if(s1.equals(s2)!=true){ <br/>System.out.println("第"+i+"行:"+s1+"和"+s2+"内容不一样")<br/>b=false<br/>}
break
}
}
if(b){System.out.println("文件内容一样")}
}
catch(IOException e){
System.out.println(e)
}
}
}
楼上回答驴唇不对马嘴。这个文件比较功能,我做过比较txt简单文本文件的。office文件没比过,说下想法,希望能对你有帮助
打开要读取的两份文件,依次读取A所有行数,将每一行的数据以字符串的形式存储在一个字符串数组里,假如是 StringA[] ,同时也一样处理 B文件
分别从开始遍历两个 字符串数组,比较 相似(相同) 字符百分比。当然有时候可能A文件第10行是一个空行,但是其下面的所有数据都和B文件一样,所以这个遍历对比不是门当户对的 行行相比,而是 一次遍历多对多的比较(但是仍要考虑顺序,比如A第10行和B第15行相同,但是A第12行又和B第10行相同,那么这一个范围段都是不匹配片断),找出相似度最高的。
希望能对你有帮助吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)