gpt4 book ai didi

java - 从文件中删除多余的行

转载 作者:行者123 更新时间:2023-12-04 18:43:22 25 4
gpt4 key购买 nike

在这里,使用这个函数:

  private static void write(String Swrite) throws IOException {
if (!StopWordRemoval.exists()) {
StopWordRemoval.createNewFile();
}
FileOutputStream fop = new FileOutputStream(file);
if (Swrite != null)
fop.write(Swrite.getBytes());
fop.flush();
fop.close();
}

我的程序从用户那里获取字符串并将其写入文件。在所有用户完成输入他们的信息之后,我想删除冗余信息。如果有两行,则删除一行。首先,我尝试了以下代码,但没有成功:

  private static void Normalize(File file) throws FileNotFoundException, IOException {
String tempLine2;
BufferedReader buf = new BufferedReader(new FileReader(file));
FileOutputStream fop = new FileOutputStream(temp, true);
String tempLine = null;
tempLine = buf.readLine();
fop.write(tempLine.getBytes());
BufferedReader buf2 = new BufferedReader(new FileReader(temp));

while ((tempLine = buf.readLine()) != null) {
while ((tempLine2 = buf2.readLine()) != null) {
if (!tempLine.trim().equals(tempLine2)) {
if (tempLine != null)
for (final String s : tempLine.split(" ")) {
fop.write(s.getBytes());
fop.write(System.getProperty("line.separator").getBytes());
}
}
}
}
}

我在第二个函数中的想法如下:将第一行写入一个新文件,然后将第二行与它进行比较,如果不同则写入,然后将第三行与两者进行比较......但看起来我的功能很糟糕。有帮助吗?

最佳答案

创建一组 Set 行。考虑这个伪代码:

Set<String> uniqueLines = new HashSet<String>();
String line = readLine();
if (!uniqueLines.contains(line)) {
write_to_file(line);
uniqueLines.add(line);
}

关于java - 从文件中删除多余的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533903/

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