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

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

}

最佳答案

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/

相关文章:

java - Eclipse 中的简单 RESTful API 代码给出 HTTP 状态 500 - 内部服务器错误

java - 我怎样才能获得像添加图像这样的布局?

java - 应用程序内计费(购买应用程序内的模块)

arrays - Excel数组countif公式

arrays - 如何快速将通用对象保存到数组中

java - 一个类型如何有多个父类(super class)型,它们是数组类型,而不是它本身是数组类型?

java - 在JAVA中将数据导出到文本文件时的日期和写入问题

c - 为什么C中数组指针的大小总是8?

javascript - 在 Javascript 中创建用于采样数据的时间戳对象数组?

javascript - Jquery Datatable - 日期排序不适用于月份(相对于日期的月份)