gpt4 book ai didi

java - StdIn.readAll() 与 readString()

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

我正在编写代码来从文件中读取字符串。使用时String s = StdIn.readAll();效果很好。但我不明白为什么,通过使用

while (!StdIn.readString().isEmpty())
s = s.concat(StdIn.readString());

我收到 java.util.NoSuchElementException 错误。是因为字符串太长吗?

(我正在使用this Stdln library)

谢谢!

最佳答案

每次调用 StdIn.readString() 都会读取另一个字符串。因此,即使您在 while 条件中读取的字符串不为空,您也会在循环内读取(或尝试读取)另一个字符串。

存储在变量中:

String r;
while (!(r = StdIn.readString()).isEmpty()) {
s = s.concat(r);
}

顺便说一句,比 concat 更好的方法就是使用 s += rStringBuilder:

StringBuilder sb = new StringBuilder();
String r;
while (!(r = StdIn.readString()).isEmpty()) {
sb.append(r);
}
s = sb.toString();

关于java - StdIn.readAll() 与 readString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61252246/

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