所以我的代码看起来像这样:
try {
while ((line = br.readLine()) != null) {
Matcher m = urlPattern.matcher (line);
while (m.find()) {
System.out.println(m.group(1));
//the println puts linebreak after each find
String filename= "page.txt";
FileWriter fw = new FileWriter(filename,true);
fw.write(m.group(1));
fw.close();
//the fw writes everything after each find with no line break
}
}
Run Code Online (Sandbox Code Playgroud)
我在行输出正确的形式System.out.println(m.group(1));然而当我以后想要写m.group(1)它显示的内容它写入文件而不放置换行符,因为代码没有.
所以我试图在java中比较2个巨大的文本列表.文本可能如下所示:
list1:值1,值2,值3 ... list2:值1604,值7000,值1 ...
关键是我喜欢从列表1到列表2中的每一行(每个值都在自己的行中)进行比较,并从列表2中删除重复项,将ARRAY 3写入文件.这就是我得到的:
编辑:
File haveFile = new File("Combine Without Dups.txt");
BufferedReader br = null;
br = new BufferedReader(new FileReader(haveFile));
String line ;
String list = null ;
while ((line = br.readLine()) != null) {
list = line ;
}
File compareFile = new File("database.txt");
BufferedReader br2 = null;
br2 = new BufferedReader(new FileReader(compareFile));
String line2 ;
String list2 = null ;
while ((line2 = br2.readLine()) != null) {
list2 = line2 ;
list2.removeAll(list);
Run Code Online (Sandbox Code Playgroud)