java比对文字重复_Java编程实现比对两个文本文件并标记相同与不同之处的方法...
时间: 2024-03-03 20:52:43 浏览: 73
Java编程实现比对两个文本文件并标记相同与不同之处的方法
可以使用Java编程实现比对两个文本文件并标记相同与不同之处的方法,具体实现步骤如下:
1. 读取两个文本文件的内容,可以使用Java中的FileReader和BufferedReader来读取文件内容。
2. 将读取的内容转换为字符串,并使用split()方法将字符串按照指定的分隔符分割成单词或句子。
3. 对两个文本文件中的单词或句子进行比较,可以使用Java中的equals()方法或者compareTo()方法进行比较。
4. 将比较结果标记在原始文本中,可以使用Java中的StringBuilder或StringBuffer来实现。
5. 将标记后的文本输出到新的文件中,可以使用Java中的FileWriter和BufferedWriter来实现。
下面是一个简单的代码示例,可以根据实际需求进行修改和优化:
```java
import java.io.*;
public class CompareText {
public static void main(String[] args) {
String file1 = "file1.txt";
String file2 = "file2.txt";
String output = "output.txt";
try {
String[] content1 = readFile(file1);
String[] content2 = readFile(file2);
String[] result = compare(content1, content2);
writeFile(output, result);
} catch (IOException e) {
e.printStackTrace();
}
}
public static String[] readFile(String file) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(file));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
return sb.toString().split(" ");
}
public static String[] compare(String[] content1, String[] content2) {
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
for (String s1 : content1) {
boolean same = false;
for (String s2 : content2) {
if (s1.equals(s2)) {
sb1.append(s1).append(" ");
sb2.append(s2).append(" ");
same = true;
break;
}
}
if (!same) {
sb1.append("[").append(s1).append("] ");
sb2.append("[ ] ");
}
}
for (String s2 : content2) {
boolean same = false;
for (String s1 : content1) {
if (s2.equals(s1)) {
same = true;
break;
}
}
if (!same) {
sb1.append("[ ] ");
sb2.append("[").append(s2).append("] ");
}
}
String[] result = new String[2];
result[0] = sb1.toString();
result[1] = sb2.toString();
return result;
}
public static void writeFile(String file, String[] content) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(content[0]);
writer.newLine();
writer.write(content[1]);
writer.close();
}
}
```
这个示例代码实现了比对两个文本文件并标记相同与不同之处的功能,输出结果将会保存在output.txt文件中。
阅读全文