gpt4 book ai didi

java - 文本文件行读取器 - java

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:02 25 4
gpt4 key购买 nike

    ArrayList <Integer> referenceNom = new ArrayList <Integer>();
ArrayList <String> bookTitle = new ArrayList <String>();
BufferedReader br = null;

try {
br = new BufferedReader(new FileReader("Booklist.txt"));
while ((br.readLine()) != null ){
for (int count = 1; count <= 44; count++){
if (count % 2 == 1){
referenceNom.add(Integer.parseInt(br.readLine()));
System.out.print(referenceNom.get(count));
}else {
bookTitle.add(br.readLine());
System.out.print(bookTitle.get(count));
}
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

我正在尝试创建一个读取文本文件行的阅读器,在本例中为“Booklist.txt”。问题是我不断收到 java.lang.NumberFormatException 错误。该文本文件由 44 行组成,第一行是一个数字,第二行是书名,第三行又是一个数字,依此类推。我尝试创建一个读取器来检查行号是偶数还是奇数,并根据行号将该行文本添加到整数数组列表或字符串数​​组列表中。数字的整数数组列表和书名的字符串数组列表。此外,我还尝试通过创建一个计数器来跟踪行号,该计数器在每次读取行时加 1 进行计数。

非常感谢任何帮助,提前致谢。

最佳答案

你“扔掉”第一行。因此,您首先获得第一个标题,而不是第一个数字。您应该只使用 1 个循环,而不是 while 循环和 for 循环:

String line;
while ((line = br.readLine()) != null ){
referenceNom.add(Integer.parseInt(line));
bookTitle.add(br.readLine());
}

for (int count = 1; count <= 44; count++){
if (count % 2 == 1){
referenceNom.add(Integer.parseInt(br.readLine()));
} else {
bookTitle.add(br.readLine());
}
}

应该可以工作。

关于java - 文本文件行读取器 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32078447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com