import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
public class PiPei {
public static void ReadData() {
try {
FileReader read1 = new FileReader("d:/RunLog2011-04-02.txt");
BufferedReader br1 = new BufferedReader(read1);
FileReader read2 = new FileReader("d:/date1.txt");
BufferedReader br2 = new BufferedReader(read2);
PrintWriter write=new PrintWriter("d:/date2.txt");
String s1 = null;
String s2 = null;
while ((s2 = br2.readLine()) != null) {
// System.out.println(s2);
while ((s1 = br1.readLine()) != null) {
// System.out.println(s1);
if(s1.indexOf(s2)>=0){
System.out.println("---"+ s1);
write.println(s1);
}
write.flush();
}
// U9811040215413780156
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
ReadData();
}
}
请问为什么只会拿第一个取出来的数据去匹配呢?第二个如果相同也不会显示,请帮忙看看!谢谢
------解决方案--------------------------------------------------------
- Java code
import java.io.*;import java.util.*;public class Test {public static void ReadData() {try {FileReader read1 = new FileReader("d:/input.txt");BufferedReader br1 = new BufferedReader(read1);FileReader read2 = new FileReader("d:/condition.txt");BufferedReader br2 = new BufferedReader(read2);PrintWriter write=new PrintWriter("d:/output.txt");String s1 = null;String s2 = null;while ((s2 = br2.readLine()) != null) {System.out.println(s2);br1.mark(100);//注意这里while ((s1 = br1.readLine()) != null) {System.out.println(s1);if(s1.indexOf(s2)>=0){System.out.println("---"+ s1);write.println(s1);}write.flush();}br1.reset();//注意这里// U9811040215413780156}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {ReadData();}}