读取.txt文件的内容并在多个文本区域中显示

时间:2013-01-24 14:38:52

标签: java swing file-io java-io

我正在尝试从.txt文件中读取内容,并希望在我的GUI中以JTextAreas的数量显示它

我的文本文件的内容是8个随机数字,逗号将它们相互分开(如下所示)

200,140,​​300,30,30,70,70,20

我的GUI上有8个JTextArea,我想在不同的JTextArea中显示每个数字。

那么如何在文本文件中使用逗号(,)作为分隔符?

以下代码完全打开文件,但它只在一个文本区域中显示所选.txt文件的内容。如何编辑我的代码以实现目标?

b2.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {

            JFileChooser fc = new JFileChooser();
            int returnVal = fc.showOpenDialog(fc);
            if (returnVal == JFileChooser.APPROVE_OPTION)
            {
                  File file = fc.getSelectedFile();
                  try 
                  {
                    FileReader fr = new FileReader(file);
                    o = new BufferedReader(fr);
                    while((s=o.readLine())!=null)
                        t1.setText(s);
                  } 
                  catch (FileNotFoundException e) 
                  {
                    e.printStackTrace();
                  } 
                  catch (IOException e) 
                  {
                    e.printStackTrace();
                  }                 
            }
        }
    });

2 个答案:

答案 0 :(得分:4)

您必须将指定“,”的文本文件的内容标记为分隔符。

String content = "200, 140, 300, 30, 30, 70, 70, 20;
String[] tokens = content.split(", "); 

之后,您可以访问令牌数组中的每个数字。

答案 1 :(得分:2)

您可以使用 s.split(“,”)

拆分此数字

试试这个

        FileReader fr = new FileReader(file);
        BufferedReader o = new BufferedReader(fr);
        String s;
        while ((s = o.readLine()) != null) {
            String Values[] = s.split(",");
            for (int i = 0; i < Values.length; i++) {
                System.out.println(Values[i]);//////////here You can set JTextArea by using Values[i]

            }
        }