Java 比较两个txt格式文本中的内容

it2024-08-17  45

文本数据

txt1.txt

1 2 4 41 12

txt2.txt

1 2 3 4 56 234 41 12

需求:在txt2.txt中但是txt1.txt中没有的值

代码如下:

package text; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class Text { public static void main(String[] args) { Text text = new Text(); text.read(); } public void read() { String s; BufferedReader bufferedReader1 = null; BufferedReader bufferedReader2 = null; try { bufferedReader1 = new BufferedReader(new InputStreamReader(new FileInputStream(this.getClass().getResource("txt1.txt").getPath()))); bufferedReader2 = new BufferedReader(new InputStreamReader(new FileInputStream(this.getClass().getResource("txt2.txt").getPath()))); ArrayList<String> arrayList1 = new ArrayList<>(); ArrayList<String> arrayList2 = new ArrayList<>(); while ((s = bufferedReader1.readLine()) != null) { arrayList1.add(s); } while ((s = bufferedReader2.readLine()) != null) { arrayList2.add(s); } List<String> collect = arrayList2.stream().filter(s1 -> !arrayList1.contains(s1)).collect(Collectors.toList()); System.out.println(collect); } catch (IOException e) { e.printStackTrace(); } finally { // 释放资源 if (bufferedReader1 != null) { try { bufferedReader1.close(); } catch (IOException e) { e.printStackTrace(); } } if (bufferedReader2 != null) { try { bufferedReader2.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

效果

最新回复(0)