2013-05-18 44 views
-2

我有在其内部具有以下结构的文本文件: 阅读文本文件转换成一个集isue

Daily Rainfall Totals (mm), Weather Station,(Meteorological Office Climatological Station TY12SDF) 
John Smith, DRE, RED Division, data obtained DEC 2011 
Format=Year, Month, 1-31 daily precipitation values. Any entry set to -99.99 means that no data exists for that day. 
2010  1 1.10 5.50 0.00 7.80 1.80 0.00 0.00 0.00 0.00 0.70 0.70 0.01 0.60 2.40 14.30 1.00 0.30 1.20 0.00 0.00 9.90 0.30 1.10 0.40 0.01 0.20 0.10 2.00 0.00 0.00 0.00 
2010  2 10.40 0.00 3.00 0.90 0.00 0.30 0.01 0.00 0.00 0.00 0.00 0.10 0.00 1.00 10.00 3.30 0.10 2.90 0.00 0.01 0.01 0.00 5.20 0.01 9.90 9.00 0.00 0.01 -99.99 -99.99 -99.99 
2010  3 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.00 2.20 9.00 4.70 2.00 2.50 4.10 0.90 11.10 3.90 0.01 0.30 5.60 17.40 0.30 

我想读值到一个集合,但我不知道哪一个我应该使用?这是因为我打算将每年的数据绑定到一个GUI控件中。

我知道如何在一个逗号分隔的数据1,2,3这样写着:

File file = new File("sample.txt"); 
ArrayList<String> num = new ArrayList<String>(); 
Scanner in = new Scanner(file); 
while (in.hasNextLine()){ 
    num.add(in.nextLine()); 
} 

编辑 但问题是,我想收藏,这将是这样来创建一个结构在我读完文件后: [2010] [1] [2.2,2.3,2.4,2.5] 2010年是一年,其中1是月份,其余是数据。

我该如何去实现这一目标?多维数组?

感谢,

+1

您已将数据放入集合中。您如何使用该系列产品取决于您;它的源代码(如果它来自文件或其他地方)与GUI无关。你想以更相关的方式重新表达你的问题吗? – SJuan76

+0

我已经修改了我的问题,如果你可以看看这个,它将不胜感激。 – KP1

+0

也许在模拟油漆截图,了解如何在页面上构建数据。它可能会稍微清理一些事情。 – christopher

回答

1

我应该如何去读取数据到集合这样我就可以把它绑定到Java中的GUI组件?

这里一个相当优雅的选项是使用ListModel(文档here)。 A ListModel可用作JList的后端数据存储。

可以使用DefaultListModel实现。

ListModel listData = new DefaultListModel(); 
listData.add() // Populate your list model. 

JList list = new JList(listData); 
// Create the JList with the list data.