当前位置: 首页 > 知识库问答 >
问题:

如何从文件中填充对象数组

闻人思聪
2023-03-14

在这里,我试图通过使用BufferedReader来填充我的对象数组。问题是,我得到了一个错误,指出数组在1处超出了索引

此外,文件中的每个标记都由一个空格分隔,这样我就可以在字符串数组中拆分标记,并在属性上进行拆分

文件内容

Introduction_to_Algorithms Thomas_H.Cormen 2011 2 18

Code_Complete Steve_McConnell 1946 2 18

Design_Patterns Erich_Gamma 2004 2 18

The_Pragmatic_Programmer Andrew_Hunt 2021 2 18

Head_First_Design_Patterns Eric_Freeman 1937 2 18

Refactoring Martin_Fowler 2003 2 18

Clean_Code Robert_C.Martin 2008 2 18

BRIGHT_STAR Yuyi_Morales 1867 2 6

DREAM_STREET Tricia_Elam_Walker 1927 2 5

THE_LONGEST_STORM Dan_Yaccarino 1943 2 5

NICKY_&_VERA Peter_Sís 1781 2 4

UNSPEAKABLE Carole_Boston 1677 2 6

WATERCRESS Andrea_Wang 1884 2 12

WE_ALL_PLAY Julie_Flett 1925 2 15

(名称,作者,发布,编号,版权,科学)


import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class BooksReader {

    static book arbook[] = new book[14];

    public static void array_filler() throws FileNotFoundException {

        String Line = "";
        try {
            BufferedReader br = new BufferedReader(new FileReader("MyPath"));

            while ((Line = br.readLine()) != null) {

                int i = 0;

                String ar[] = Line.split(" ");
//The attributes of each object are two strings and 3 integers
                arbook[i] = new book(ar[0], ar[1], Integer.parseInt(ar[2]),    Integer.parseInt(ar[3]), Integer.parseInt(ar[4]));
                i++;
               
            }

        } catch (IOException ex) {
            Logger.getLogger(BooksReader.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void main(String[] args) throws FileNotFoundException {
        BooksReader.array_filler();
    }
}

那么有人能帮我写代码吗?或者甚至建议另一种方法?

共有1个答案

冀阳文
2023-03-14

你需要移动inti=0 while循环之前的几行,因为它现在的工作方式,您将始终尝试访问arbook[0]

 类似资料:
  • 我有一个要填充信息的对象。我从许多不同的服务中检索信息。我做了一个助手类,它有一个公共方法,然后有许多私有方法来调用服务。我写的东西很好,但我不确定这是否是正确的方法。 您可能想知道为什么我需要一个包含所有这些信息的对象。我需要它全部在一个对象中,因为我从这个java对象创建了一个json对象并将其传递给javascript层。 我的方法有什么问题?我是否应该遵循一种编程范式来做这样的事情? 例子

  • 问题内容: 如何从文本文件填充? 问题答案: 非常模糊的问题。您是说要每行输入一个吗?如果是这样,则要使用BufferedReader之类的东西,请读取所有行,并将它们保存为String数组。创建一个新的JComboBox传入该String构造函数。

  • 问题内容: 根据http://www.newtonsoft.com/json/help/html/PopulateObject.htm,您可以通过JSON字符串中定义的值来更新现有实例。我的问题是,我必须填充该对象的数据已经被解析为JToken对象。我当前的方法如下所示: 是否有更好的方法来完成此任务,而不必首先还原在创建JToken时已经完成的解析? 问题答案: 使用阅读器并将其传递给。返回的阅

  • 为什么下面的代码是错误的?< code >[T;N]转换为< code>Vec 错误: 游戏场

  • 所以我用Java处理这些数据: 我需要将其转换为JSON: 但是我不知道怎么做。 目前我认为这是最好的方法: 但我不确定如何使用Hashmap实现这一点。我知道是这样的: 但确切的语法,以及如何将其与其他数据一起添加,我无法计算。有什么想法吗?

  • 我有这个文本文件: 我的观点是: 我希望将每一行与每列相匹配(first_row-first_column,SEND_ROW-SEND_COLUMN等)我哪里出错了?我的代码如下: