Java:将数组从文件导入到数组

时间:2012-05-25 10:53:08

标签: java arrays multidimensional-array

我的文件包含如下数组: 这是我的.txt

中的一个片段
itemlist= new int[][] {
    { 0, 0, 0, 0, 0}, 
    { 1, 1, 1, 1, 1}, 
    { 2, 2, 2, 2, 2}, 
    { 3, 3, 3, 3, 3}, 
    { 4, 4, 4, 4, 4}
};

如您所见,.txt文件包含多维数组列表。有没有办法将其转换为java中的数组?

干杯!

2 个答案:

答案 0 :(得分:0)

我觉得这是某种功课,所以我不能给你代码,但如果我是你,我会:

1)将文件中的文本放入一个字符串(不带新行标记)

2)(我假设one file == one table data)尝试在第一个{和最后一个}之间隔离文字(再次正则表达式可以提供帮助)

3)从第2点开始分割内容,使每个{ }的数据位于不同的位置(使用拆分和再次使用正则表达式)

4)通过计算{ }对并在其中计算,(通过正则表达式或通过迭代字符)来估计数组的大小

5)现在我可以创建表格(我知道尺寸)

6)在第3点我隔离了所有行(或cols,取决于你将它们放在表中的方式)所以现在是时候读取它们并放入表中,所以我们需要迭代来自第3点的所有数据和

6.1)删除{ }括号

6.2)使用,

进行拆分

6.3)修剪空间

6.4)解析为Integer并放入数组

希望这足以创建代码。

答案 1 :(得分:0)

public static void main(String[] args) { 

    int itemlist[][]= new int[][] {
      { 0, 0, 0, 0, 0}, 
      { 1, 1, 1, 1, 1}, 
      { 2, 2, 2, 2, 2}, 
      { 3, 3, 3, 3, 3}, 
      { 4, 4, 4, 4, 4}
    };

    int length=itemlist.clone().length*itemlist.length;
    int tab[]=new int[length];
    int i=1;
    for(int j=0;j<itemlist.length;j++) 
    {
      for(int k=0;k<itemlist.clone().length;k++)
      {
         tab[i]=itemlist[j][k];
         i++;

         if (i== length) break ;
      }
    }

    for(int h=0;h<length;h++){
      System.out.println(" "+tab[h]);
    }
}