gpt4 book ai didi

如果返回零,Java 从文件中删除字符串

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:33 24 4
gpt4 key购买 nike

我有一个脚本可以访问文本文件中的链接。如果返回的值为空,我试图删除字符串

Example:

1. some link (returned value 'hi')
2. some link (returned null value) //DELETE STRING FROM FILE BECAUSE NULL VALUE RETURNED
3. some link (returned value 'hello')

一些代码:

while ((input = in.readLine()) != null) {
System.out.println(input);

if ((input = in.readLine())=="0"){

System.out.println("1 String deleted from file because null value returned ");
}

我知道我正在检查字符串“0”而不是整数 0,因为我认为服务器将其存储为字符串。

最佳答案

我认为,与其尝试在读取过程中删除文件(我什至不知道如何做到这一点,如果可以的话,这将是一个可怕的想法),只需读取整个文件并将每个值存储在 ArrayList<string> 的索引中,您可能会更轻松。 :

ArrayList<string> lines = new ArrayList<string>();
while ((input = in.readLine()) != null) {
lines.add(input);
}

读完后再次写入文件,跳过 lines 的任何索引等于 "0" :

for (String line : lines)
{
// skip "0"
if (line.equals("0")) {
continue;
}

// write to file if not
writer.write(line);
writer.newLine();
}

请注意==比较 Java 中的引用相等性,和 .equals比较值相等,因此几乎在所有情况下您都想使用 .equals .

当然,如果正如您上面的评论所述,您有另一个文件不断写入此文件,那么您最好寻找一个全新的想法。就此而言,如果您有一个编写这些内容的脚本,为什么不更改该脚本,以便它一开始就不会为空值编写行呢?除非您实际上根本无法更改脚本,否则旋转另一个脚本以不断重写其部分工作(在同一个不断访问的文件上!)将是一个。无效和b.非常有问题。

关于如果返回零,Java 从文件中删除字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26722140/

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