Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何逐行读取文本文件,并用信息填充对象数组?_Java - Fatal编程技术网

Java 如何逐行读取文本文件,并用信息填充对象数组?

Java 如何逐行读取文本文件,并用信息填充对象数组?,java,Java,我想出来了。。。 我不敢相信我花了那么长时间才得到这个: int id = inputFile.nextInt(); String title = inputFile.next(); String isbn = inputFile.next(); String author = inputFile.next(); String category = inputFile.next(); char cat

我想出来了。。。 我不敢相信我花了那么长时间才得到这个:

        int id = inputFile.nextInt();
        String title = inputFile.next();
        String isbn = inputFile.next();
        String author = inputFile.next();
        String category = inputFile.next();
        char catagories = category.charAt(0);
输入是

96385 This_Book 0998706482 Smith Non-Fiction
但你是用电脑读的

 new Book(inputFile.nextInt(), inputFile.nextLine(), inputFile.nextLine(), inputFile.nextLine(), inputFile.nextLine())
所以你在读一个整数,然后是整行,然后是整行,然后是整行,然后是整行


使用
next()
而不是
nextLine()
,因为您想要的是下一个令牌,而不是下一行。

Stackoverflow不是用来完成作业的…:-/我明白。我希望被推向正确的方向。还有@zvzdhk,我不确定我是否在读新书。。。。正确。运行程序时会发生什么?它有用吗?如果不是,你期望它做什么,而它又做了什么?考虑每次读取一行一行,用<代码>输入文件.NestLoin()/<代码>,然后考虑用String的<代码>分割(“”)返回的字符串进行拆分。方法,并使用构造函数参数中返回的数组标记。@trama:想想当调用
nextLine()
时会发生什么,当您只需要行上的一个标记,并且当每行数据包含多个标记时,每一个标记都是书籍信息的一部分。在逻辑上,你应该能够找出你在这里做错了什么。这更像是一个简单地思考问题的问题,而你没有这样做。我试着这样做,但它要求我将书籍构造函数更改为(int,String,String,String)。我需要最后一个字符。@trama:您可以使用String的方法之一,
charAt(…)
轻松地从字符串中提取字符。1+到正确答案。这没有意义。最后一个参数已经是字符串,因为您正在传递
input.nextLine()
,这是一个字符串。如果要传递字符,则将最后一个标记转换为字符。