当前位置: 首页 > 面试题库 >

Java:将文件中的整数读入数组

陶锋
2023-03-14
问题内容
File fil = new File("Tall.txt");
FileReader inputFil = new FileReader(fil);
BufferedReader in = new BufferedReader(inputFil);

int [] tall = new int [100];

String s =in.readLine();

while(s!=null)
{
    int i = 0;
    tall[i] = Integer.parseInt(s); //this is line 19
    System.out.println(tall[i]);
    s = in.readLine();
}

in.close();

我正在尝试使用文件“ Tall.txt”将其中包含的整数写入名为“ tall”的数组中。它在某种程度上做到了这一点,但是当我运行它时,它会引发以下异常(:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at BinarySok.main(BinarySok.java:19)

为什么要完全做到这一点,以及如何将其删除?如我所见,我将文件读取为字符串,然后将其转换为int,这是非法的。


问题答案:

您可能想做这样的事情(如果您使用的是Java 5及更高版本)

Scanner scanner = new Scanner(new File("tall.txt"));
int [] tall = new int [100];
int i = 0;
while(scanner.hasNextInt()){
   tall[i++] = scanner.nextInt();
}


 类似资料:
  • 问题内容: 我正在尝试将csv文件“ read_ex.csv”读入数组。我在web / stackoverflow上进行了无休止的搜索,以找到一种将文件读入数组的方法。我能做的最好的事情是以流方式读取它,但是由于文件大小可变,我无法将其存储在数组中。我相信ArrayList是处理可变大小数组的方法,但是我不知道如何使用它。本质上,我希望能够在while循环结束后访问String数组“ values

  • 问题内容: 如标题所示,我正在寻找最快的方式将整数数组写入文件。数组的大小将有所不同,并且实际上包含2500至25000000 int之间的任何位置。 这是我目前正在使用的代码: 鉴于DataOutputStream有一种写入字节数组的方法,我已经尝试将int数组转换为字节数组,如下所示: 像这样: 两者似乎都使速度略有提高,约为5%。我没有对它们进行足够严格的测试以确认这一点。 是否有任何技术可

  • 我想把一个多项选择题列表读成一个多维数组在Java,文件的格式是:问题,answer1,answer2,answer3,answer4,CorretAnswer。 一公里有几米?,1,10,100,1000,4,彩虹童谣里哪种颜色不是?,蓝色,粉色,黑色,橙色,3一个足球队在场上有几个队员?,10,11,12,13,2 所以我希望数组的格式为question[][],如果n是1,那么questio

  • 这些文件的内容是: 学生(字符串名称,int studentID,int grade1,int grade2,int grade3,int grade4,int grade5,int grade6,int grade7,int grade8,int grade9,int grade10) 我对如何将学生的名字输入到数组中感到困惑,因为它包含了一个空格,所以当我尝试使用。next()时,它只得到学生

  • 我正在尝试读取 JSON 文件以创建新对象。我可以读取其中的所有字符串,但是在尝试读取整数时会抛出ClassCastException。这是 JSON 文件。 这是java代码。 它抛出。线程“main”中的异常 java.lang.ClassCastException: java.lang.Double 不能强制转换为 java.lang.Integer

  • 问题内容: 你如何将文件内容读入Java? 以下是文件内容: 只需将每个单词读入。 问题答案: 此Java代码读取每个单词并将其放入ArrayList中: 如果要逐行而不是逐字阅读,请使用和。