我正在编写一个程序,我必须将一个文件的所有数据逐行传输到一个数组中。但是,当我显示该行时,数组中唯一的就是最后一行。我需要数组包含文件的所有行,以便我可以选择数组的索引。
这是目前的代码,
while(inputFileTest.hasNext()) //counts amount of lines in the file
{
count++;
inputFileTest.nextLine();
}
fileTest= new File("TestBank.txt");
inputFileTest= new Scanner(fileTest);
String[] testArr=new String[count];
while(inputFileTest.hasNext())
{
int i=0;
String line= inputFileTest.nextLine();
testArr= line.split("\n");
testArr[i]=testArr[0];
i++;
}
//int i=rand.nextInt(testArr.length);
for(String test:testArr)
System.out.println(test);
}
最佳答案
while(inputFileTest.hasNext())
{
int i=0;
应该是
int i=0;
while(inputFileTest.hasNext())
{
您一直将其设置为零。将它移到 while 循环的顶部,就可以了。
而且,正如 bastijn 评论的那样,您也在验证数组。所以应该是
String[] ta= line.split("\n");
testArr[i]=ta[0];
关于java - 为什么我的数组中唯一的东西是文件的最后一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43310367/