介绍
本篇文章给大家分享的是有关利用Java怎么对比两个文本文件的相同与不同之处,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>使用需求:强>
文件1里面是需要比较的内容,文件2是被比较的文本,现在需要找到在文件1中每一行的文本在文件2中是否存在并相等,如果相等,就在一份结果文件中输出,文件1的哪一行与文件2的哪一行相同,反之不相同就输出文件1的哪一行不相同货不存在。
Java代码如下,输出的是结果。txt文件,这个文件的行号和文件1保持一致,所以结果中某一行的结果就是对应的文件1中这行数据在文件2中比较之后的结果。
(需要注意文件1和文件2是通过每一行的内容进行比较)
最后为了方便查看可以通过notepad++查看:
包com.it.aron; 进口java.io.BufferedReader; 进口java.io.BufferedWriter; 进口java.io.File; 进口java.io.FileNotFoundException; 进口java.io.FileReader; 进口java.io.FileWriter; 进口java.io.IOException;/* * *检查重复的文本 * @author: aronxu * @version: 1.0, 2015年9月22日 */公开课AutoCheckText { 私有静态最终字符串FILE_PATH=癉:/text1.txt"; 私有静态最终字符串COMPARED_FILE_PATH=癉:/text2.txt"; 私有静态最终字符串RESULT_FILE_PATH=癉:/result.txt"; 公共静态void main (String [] args) { System.out.println(“======开始搜索!=======?; 长时间的开始时间=System.currentTimeMillis ();//读取第一个文件 文件文件=新文件(FILE_PATH); 文件comparedFile=新文件(COMPARED_FILE_PATH); BufferedReader br=零; BufferedReader cbr=零; BufferedWriter rbw=零; 尝试{ br=new BufferedReader(新FileReader(文件); cbr=new BufferedReader(新FileReader (comparedFile)); cbr.mark (90000000); rbw=new BufferedWriter(新FileWriter (RESULT_FILE_PATH)); 字符串lineText=零; 在((lineText=br.readLine ()) !=null) { 字符串searchText=lineText.trim (); searchAndSignProcess (searchText、cbr、rbw); } 长endTime=System.currentTimeMillis (); System.out.println(“======过程!=======?; System.out.println(“时间支出:“;+ ((endTime -开始时间)/1000 d) +“s"); }捕捉(FileNotFoundException e) { e.printStackTrace (); }捕捉(IOException e) { e.printStackTrace (); 最后}{ 如果(br !=null) { 尝试{ br.close (); }捕捉(IOException e) { e.printStackTrace (); 最后}{ 如果(cbr !=零,,rbw !=null) { 尝试{ cbr.close (); rbw.close (); }捕捉(IOException e) { e.printStackTrace (); } } } } } } 公共静态孔隙searchAndSignProcess(字符串searchText BufferedReader comparedReader, BufferedWriter rbw) 抛出IOException { 字符串lineStr=? \ n"; 如果(searchText==null) { 返回; } 如果““.equals (searchText)) { rbw.write (lineStr); 返回; } 字符串lineText=零; int lineNum=1; 在((lineText=comparedReader.readLine ()) !=null) { 字符串comparedLine=lineText.trim (); 如果(searchText.equals (comparedLine)) { lineStr=? # #==:“+ lineNum +“=# # # \ n"; 打破; } lineNum + +; } rbw.write (lineStr); comparedReader.reset (); } }
text1。三种内容:
myaccount.msg.register。注册=Registro角色 myaccount.msg.register.your_company=,神游;你是empresa& # 63; myaccount.msg.register。sign_up=可aqui myaccount.msg.register。儿子obligatorios fields_compellent=跳动坎波斯 myaccount.msg.register.account_data=https://www.yisu.com/zixun/Datos de la东西 myaccount.msg.register.email=电子邮件: myaccount.msg.register。confirm_email=Confirma你电子邮件: myaccount.msg.register.password=Contrase馻: myaccount.msg.register。confirm_password=Confirma涂Contrase馻: myaccount.msg.register。personal_data=拿督个人 myaccount.msg.register.first_name=数量: myaccount.msg.register。last_name=Apellido帕特诺: myaccount.msg.register。middle_name=Apellido Materno: myaccount.msg.register。国家=禿e Residencia: myaccount.msg.register。id_card=de Identidad证件: myaccount.msg.register.genero=Genero: myaccount.msg.register.male=Masculino: myaccount.msg.register.female=Femenino: myaccount.msg.register。出生=Fecha de Nacimiento: myaccount.msg.register.day=Dia myaccount.msg.register.month=Mes利用Java怎么对比两个文本文件的相同与不同之处