Java - 不会读出文件内容
Java - Won't read out File content
我有一个 .txt 文件,例如,内容如下:
variable1="hello";
variable2="bye";
testing3="parameter";
whatisthis4="hello";
var5="exampletext";
example=3;
wellthen=8;
---
它逐行读取文件,很好,直到我添加了一种保存数据的方法。
这整个代码加上另一个 reader(当然还有其他变量名)被包裹在一个 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--;
}
也许你们中的某个人可以弄清楚我做错了什么...
当然,如果需要,我可以提供更多 information/code!
提前致谢!
这看起来很奇怪
while(track_counter < 0)
你确定循环输入过吗?我猜(根据你的输出)track_counter
是 9.
关于您的数组越界异常:如果您创建大小为 N 的数组,您只能使用索引访问它:[0, N-1]
试试这个
while(track_counter > 0)
{
System.out.println("linecount="+track_counter);
track_counter--;
trackinfos[track_counter] = br_playlist.readLine();
System.out.println(trackinfos[track_counter]);
}
我有一个 .txt 文件,例如,内容如下:
variable1="hello";
variable2="bye";
testing3="parameter";
whatisthis4="hello";
var5="exampletext";
example=3;
wellthen=8;
---
它逐行读取文件,很好,直到我添加了一种保存数据的方法。
这整个代码加上另一个 reader(当然还有其他变量名)被包裹在一个 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--;
}
也许你们中的某个人可以弄清楚我做错了什么...
当然,如果需要,我可以提供更多 information/code! 提前致谢!
这看起来很奇怪
while(track_counter < 0)
你确定循环输入过吗?我猜(根据你的输出)track_counter
是 9.
关于您的数组越界异常:如果您创建大小为 N 的数组,您只能使用索引访问它:[0, N-1]
试试这个
while(track_counter > 0)
{
System.out.println("linecount="+track_counter);
track_counter--;
trackinfos[track_counter] = br_playlist.readLine();
System.out.println(trackinfos[track_counter]);
}