자바에서 텍스트 파일을 비교하려고합니다. 다음 발생 행에서 문자열을 검색하려면 어떻게합니까 (공백을 무시합니까?)?텍스트 파일을 비교하는 방법은 무엇입니까?
예 :
<name>abc</name>, <age>21</age>, <company>zyz</company>, ####Start of target File####, <name>abc</name>, , <age>21</age>, <company>zyz</company>
문제 : 두 번째 줄에서
내 논리에 현재**File1** **File2** <name>abc</name> | <name>abc</name> Equal <age>21</age> | Not Equal <company>zyz</company> | <age>21</age> Not Equal | <company>zyz</company> Not Equal
, 나는 CSV 문자열을했습니다 CSV의 연령 값이 비어 있습니다. 내 프로그램이 File1의 두 번째 줄과 File2의 두 번째 줄을 검사 할 때이 둘은 동일하지 않으므로 해당 줄도 false가됩니다.
달성해야 할 것 : 공백을 무시하고 다음 발생하는 값을 확인해야합니다. 두 값이 같으면 file1의 두 번째 줄을 아래로 이동해야합니다.
출력은 다음이
**File1** **File2** <name>abc</name> | <name>abc</name> | <age>21</age> | <age>21</age> <company>zyz</company> | <company>zyz</company>
같이 있어야하는 것은 지금까지 시도한 것입니다 :
Compare c=new Compare();
//FileCompare returns CSV string
List<String> s=c.FileCompare("D:/reference.xml", "D:/comparison.xml");
String pdf=s.toString();
String[] tokens=pdf.split(",");
for(String token:tokens)
System.out.println(token);
: 여기
public List<String> FileCompare(String source, String target) {
try {
//String source="D:/reference.xml";
//String target="D:/comparison.xml";
//Diff d=new Diff(myControlXML, myTestXML);
FileReader fr = new FileReader(source);
FileReader fr1 = new FileReader(target);
BufferedReader br = new BufferedReader(fr);
BufferedReader br2 = new BufferedReader(fr1);
String s1,s2;
String st= new String();
String st2= new String();
while((s1 = br.readLine()) != null) {
myList.add(s1);
st=st.concat(s1);
//System.out.println(s1);
}
Collections.addAll(myList, "#########Start of target#########");
while((s2 = br2.readLine())!=null){
st2=st2.concat(s2);
myList1.add(s2);
}
myList.addAll(myList1);
System.out.println(myList);
//System.out.println(myList1);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return myList;
}
메인 코드
공백/e를 어떻게 무시합니까? 빈 줄?
감사합니다.
@monishchandrashekar 처음으로 충분히주의를 기울이지 않았다면 다시 질문하지 마십시오. 나는 원래 질문에 대한 나의 대답을 움직이고이 질문을 끝내기 위해 투표를하고있다. – Gamb
어쨌든'st = st.concat (s1);의 목적은 무엇입니까? – KidTempo