gpt4 book ai didi

Java - 不会读出文件内容

转载 作者:行者123 更新时间:2023-11-30 06:52:55 25 4
gpt4 key购买 nike

我有一个 .txt 文件,例如,这个内容:

variable1="hello";
variable2="bye";
testing3="parameter";
whatisthis4="hello";
var5="exampletext";
example=3;
wellthen=8;
---

它逐行读取文件,直到我添加了一种保存数据的方法。

整个代码加上另一个读取器(当然还有其他变量名)被包裹在一个 try-catch 语句中。

String path_playlist = new File("").getAbsolutePath();
String fileName_playlist = path_playlist
+ "/src/dancefusion/game/playlist.txt";
FileReader fr_playlist = new FileReader(fileName_playlist);
BufferedReader br_playlist = new BufferedReader(fr_playlist);

int track_counter = track_sum*9;
String trackinfos[] = new String[track_counter];

while(track_counter < 0)
{
System.out.println("linecount="+track_counter);
trackinfos[track_counter] = br_playlist.readLine();
System.out.println(trackinfos[track_counter]);
track_counter--;
}
System.out.println(Arrays.toString(trackinfos));

在此示例中,track_sum 等于 1。

while 循环应该在文件中一次读取一行但只读取空值:

[null, null, null, null, null, null, null, null, null]

更新 1:

while-condition 的设置方式有误...谢谢!

更正后的版本:

while(track_counter < 0)

但是,现在它给了我一个“ArrayOutOfBounds: 9”的异常。

有什么猜测吗?


最终更新:

正如@GiorgiMoniava 所提到的,我只需要在开始读入之前将 track_counter 减一,因为在 Java 数组中以 0 开头,谢谢!

int track_counter = track_sum*8;
String trackinfos[] = new String[track_counter];

track_counter--;

while(track_counter >= 0)
{
System.out.println("linecount="+track_counter);
trackinfos[track_counter] = br_playlist.readLine();
System.out.println(trackinfos[track_counter]);
track_counter--;
}

也许你们中的一个可以弄清楚我做错了什么......

当然,如果需要,我可以提供更多信息/代码!提前致谢!

最佳答案

这看起来很奇怪

while(track_counter < 0)

您确定曾经输入过循环吗?我猜测(根据您的输出)track_counter 是 9。

关于您的数组越界异常:如果您创建大小为 N 的数组,您只能使用索引访问它:[0, N-1]

关于Java - 不会读出文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130890/

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