为什么我的数组中唯一的东西是文件的最后一行?

时间:2017-04-09 18:27:42

标签: java arrays

我正在编写一个程序,我必须逐行将文件的所有数据传输到数组。当我显示该行时,数组中唯一的东西是最后一行。我需要数组包含文件的所有行,以便我可以选择数组的索引。

到目前为止,这是代码,

 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);

} }

1 个答案:

答案 0 :(得分:5)

while(inputFileTest.hasNext()) 
{
  int i=0;

应该是

 int i=0;
while(inputFileTest.hasNext()) 
{

您始终将其设置为零。将它移到while循环的顶部,你就没事了。

而且,正如bastijn评论的那样,你也正在淘汰阵列。所以它应该是

  String[] ta= line.split("\n");
  testArr[i]=ta[0];