gpt4 book ai didi

java - 在java中逐个字符串地比较两个文本文件

转载 作者:行者123 更新时间:2023-12-03 23:03:01 24 4
gpt4 key购买 nike

我有两个文本文件,我想用java比较文本文件的内容。

例如,第一个文件 e1.txt 的内容为 "hello this is india" ,另一个 e2.txt 的内容为 “你好,这里是美国”。我希望输出应该是两个文件中不相似的文本(这里输出应该是印度或美国)。

我在这里面临的问题是 java IO 方法逐行读取,因此在这种情况下不会给出输出(两行不同),也应忽略空格。如果有人能帮助我解决这个问题,我将非常感激。

这是我的代码:

 public void fh() throws FileNotFoundException, IOException{
File f1=new File("C:\\\\Users\\\\Ramveer\\\\Desktop\\\\idrbt Project\\\\e1.txt");
File f2=new File("C:\\\\Users\\\\Ramveer\\\\Desktop\\\\idrbt Project\\\\e2.txt");
FileInputStream fi1=new FileInputStream(f1);
FileInputStream fi2=new FileInputStream(f2);
DataInputStream di1=new DataInputStream(fi1);
BufferedReader br1=new BufferedReader(new InputStreamReader(di1));
DataInputStream di2=new DataInputStream(fi2);
BufferedReader br2=new BufferedReader(new InputStreamReader(di2));
String s1, s2;
while ((s1=br1.readLine())!=null && (s2=br2.toString())!=null)
{
if(!s1.equals(s2)){
System.out.println(s1);
}
}
}

最佳答案

正如我评论的那样,使用java.util.Scanner

public static void fha(InputStream is1, InputStream is2) throws IOException {
Scanner sc1 = new Scanner(is1);
Scanner sc2 = new Scanner(is2);
while (sc1.hasNext() && sc2.hasNext()) {
String str1 = sc1.next();
String str2 = sc2.next();
if (!str1.equals(str2))
System.out.println(str1 + " != " + str2);
}
while (sc1.hasNext())
System.out.println(sc1.next() + " != EOF");
while (sc2.hasNext())
System.out.println("EOF != " + sc2.next());
sc1.close();
sc2.close();
}

关于java - 在java中逐个字符串地比较两个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16772589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com