gpt4 book ai didi

Java,需要一个while循环才能达到eof。即 while !eof,继续解析

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

我目前有一个可用的解析器。它解析一次文件(不是我想要的),然后将解析后的数据输出到文件中。我需要它继续解析并附加到同一输出文件,直到输入文件末尾。看起来像这样。

try {
// my code parsing the data and appending to eof of output. (works)
}
catch (EOFException eof){
}

除了 while 循环之外,一切都已完成。当我需要它继续解析时,它只解析一次。我正在寻找一个 while 循环函数来达到 eof。

我也在使用 DataInputStream。是否有某种 DataInputStream.hasNext 函数?

DataInputStream dis = new DataInputStream(new FileInputStream(inFile));
i.e. dis.read();

.

//Need a while !eof while loop
try {
// my code parsing the data and appending to eof of output. (works)
}
catch (EOFException eof){
}

最佳答案

警告:此答案不正确。请参阅评论以获取解释。

<小时/>

您可以采取更简洁的方法,使用available(),而不是循环直到抛出EOFException。 .

DataInputStream dis = new DataInputStream(new FileInputStream(inFile));
while (dis.available() > 0) {
// read and use data
}

或者,如果您选择采用 EOF 方法,则需要在捕获异常时设置一个 boolean 值,并在循环中使用该 boolean 值,但我不建议这样做:

DataInputStream dis = new DataInputStream(new FileInputStream(inFile));
boolean eof = false;
while (!eof) {
try {
// read and use data
} catch (EOFException e) {
eof = true;
}
}

关于Java,需要一个while循环才能达到eof。即 while !eof,继续解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945335/

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