Java 多次从ArrayList追加会导致同时打印多个值吗?

Java 多次从ArrayList追加会导致同时打印多个值吗?,java,arrays,eclipse,arraylist,append,Java,Arrays,Eclipse,Arraylist,Append,我遇到了一个我不知道如何解决的问题。我正在开发一个角色创建者,它可以写入.txt文件并从同一个.txt文件读取。我可以在第一次尝试时将.txt文件中的每一行附加到JTextArea,但是当我返回到主菜单,然后返回到视图选项卡时,它会显示前两个值,而不仅仅是第一个值。每次返回都会增加另一个值。有没有关于如何修复的想法?如果这是一个非常愚蠢的问题,我很抱歉 viewInfo.addActionListener (new ActionListener () { public v

我遇到了一个我不知道如何解决的问题。我正在开发一个角色创建者,它可以写入.txt文件并从同一个.txt文件读取。我可以在第一次尝试时将.txt文件中的每一行附加到JTextArea,但是当我返回到主菜单,然后返回到视图选项卡时,它会显示前两个值,而不仅仅是第一个值。每次返回都会增加另一个值。有没有关于如何修复的想法?如果这是一个非常愚蠢的问题,我很抱歉

viewInfo.addActionListener (new ActionListener ()
    {
        public void actionPerformed (ActionEvent e) 
        {

            i3 = i3 + 1;    

            try { BufferedReader br = new BufferedReader(new FileReader("charCreator.txt"));

                while ((name1 [i3] = br.readLine()) != null) {

                    if (!list.contains(name1 [i3])){  

                        list.add (name1 [i3]);

                    }

                }

                br.close ();                  

            } catch (IOException e1) {
                e1.printStackTrace();
            }

            String infoArray [] = list.toArray (new String [500]);

            viewArea.append (infoArray [i3]);
            viewArea.append ("\n");

        } 
    }
    );

我对自己的编码技能并不完全有信心,所以建设性的批评总是值得赞赏的。大多数变量是全局变量

您可能必须确保在输入方法时不会保留列表。比如:

list.clear()

另一种方法是将列表声明移动到方法中,这样您就知道它是新的。方法结束后,您似乎不需要它。

您可能必须确保在输入方法时不会保留列表。比如:

list.clear()

另一种方法是将列表声明移动到方法中,这样您就知道它是新的。方法结束后,您似乎不需要它。

我尝试了您的建议。我仍然有同样的问题。它不是只给我name1[1],而是在我只需要前者时给我name1[1]&name1[2]。这只发生在第二次尝试查看条目时。没有足够的代码来理解发生了什么。也许有什么东西意外地写入了文件?也许我奇怪地写入了文件?写入.txt文件代码-->我尝试了您的建议。我仍然有同样的问题。它不是只给我name1[1],而是在我只需要前者时给我name1[1]&name1[2]。这只发生在第二次尝试查看条目时。没有足够的代码来理解发生了什么。也许有什么东西意外地写入了文件?也许我奇怪地写入了文件?写入.txt文件代码-->