在java中读取文件并控制数组列表

时间:2016-04-05 19:56:25

标签: java arrays reader

我知道我的代码不是最优的,并且有一种更好的方式来编写我想要做的事情,而不是我写的。

我正在尝试设置一个阅读器,以便将信息插入到数组列表中。现在我的问题是我无法找到如何只将对象添加到数组列表一次。该文件的最后一个对象是填充arrayList的空格。

public void readCharacterFile() {

    String fileName = "C:/Users/brenton.reittinger/Desktop/characters.txt";
    String line = null;
    String fileContent = "";

    try {
        FileReader in = new FileReader(fileName);

        BufferedReader bufferReader = new BufferedReader(in);

        while((line = bufferReader.readLine()) != null) {
            fileContent = fileContent + line;
        }   

        bufferReader.close();

    } catch(Exception e){
        e.printStackTrace();
    }

    Character character = new Character();
    Attributes attribute = new Attributes();

    character.setAttribute(attribute);

    String[] file = fileContent.split(":");

    int count = 0;          

    for (String fileSection : file) {
        if (fileSection.length() > 0) {
            if(count == 5) {
                character.getAttribute().setLevel(Integer.parseInt(fileSection));
                count++;
            }
            if(count == 4) {
                character.getAttribute().setExperience(Integer.parseInt(fileSection));
                count++;
            }
            if(count == 3) {
                character.getAttribute().setHealth(Integer.parseInt(fileSection));
                count++;
            }
            if(count == 2) {
                character.getAttribute().setAttack(Integer.parseInt(fileSection));
                count++;
            }
            if(count == 1) {
                character.setRace(fileSection);
                count++;
            }
            if(count == 0) {
                character.setName(fileSection);
                count++;
            }   
        }           
    }
    user.addCharacterToList(character);
}

1 个答案:

答案 0 :(得分:-1)

为什么不使用java Set呢?设置保证每个对象实例只能出现一次。