gpt4 book ai didi

java - 使用 BufferedReader 从文本文件中的特定行获取数据

转载 作者:行者123 更新时间:2023-12-01 11:00:46 25 4
gpt4 key购买 nike

我目前正在构建一个应用程序,该应用程序从项目内的文本文件中提取值。以某种方式管理从特定行提取数据,但似乎没有得到正确的数据。

这是代码:

 private String getInputsFromATextFile(int item) throws FileNotFoundException {         
InputStream is = this.getResources().openRawResource(R.drawable.input);
StringBuilder builder = new StringBuilder();
int lineNo = 0;
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while((line = reader.readLine()) != null){
lineNo++;
if(lineNo == item){
builder.append(reader.readLine());
}

}
reader.close();
}
catch (IOException e){
e.printStackTrace();
}
return builder.toString();
}

这是文本文件内容:

20.45
21.65
1
225
4102
401
3
3
6
1
196.41
64.11
7
3
5
2
144.01
3
452.33
12
701.33
33
78.12
12
123.90
4
25.00
10
6.51
30.98
2.50
Spiderman
100.00
90
150.00
100
10
34
12
James
1267
Joshue
401
Christelle
3050
Ryan
888
Hanna
5
13
24
9
5
3
50

假设我们在参数中分配特定的行号。此方法返回分配行号的确切下一个数据。虽然,也许我可以调整它总是返回的输出(lineNo + 1),但如果我在参数中分配了“0”(零),它就会返回 null。为什么会这样?我一定错过了一些非常重要的东西。

最佳答案

这是因为您在语句 builder.append(reader.readLine()) 中再次读取该行。请注意,您已经在 while 循环中阅读了它。

所以,正确的说法是:builder.append(line);

关于java - 使用 BufferedReader 从文本文件中的特定行获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349083/

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