Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:将数组从文件导入到数组_Java_Arrays_Multidimensional Array - Fatal编程技术网

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

Java:将数组从文件导入到数组,java,arrays,multidimensional-array,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中的数组 干杯 我觉得这是一种家庭作业,所以我不能给你代码,但如果我是你,我会:

我有包含如下数组的文件: 下面是我的一个.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中的数组


干杯

我觉得这是一种家庭作业,所以我不能给你代码,但如果我是你,我会:

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

2我假设一个文件==一个表数据尝试在第一个{和最后一个}之间隔离文本,regex也会有所帮助

3从第2点拆分内容,以使每个{}的数据位于不同的位置,请使用split和regex

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

5现在我可以创建我知道大小的表格

6在第3点中,我隔离了所有行或列,这取决于您将如何将它们放入表中,所以现在是读取它们并放入表中的时候了,所以我们需要通过第3点的所有数据进行迭代,并且:

6.1删除{}括号

6.2使用

6.3修剪空间

6.4解析为整数并放入数组


希望这足以创建代码。

那么文件的内容本质上就是java源代码?是的,有一种方法。你试过什么?是的file=source,但我想我可以修改它somehow@kg我得到了一个字符串中的文本,然后我试着做了一些索引,但我无法将其导入为一个多音数组。这里有一些东西可以让您开始:。尝试一些东西,发布一些代码,然后也许你可以得到帮助。谢谢,我在regex部分,但它不会找到{}括号..:@AndroidXtr3人你试过什么?也许整个网站会帮你一点忙,不仅仅是这个partpattern\\{[^}]*\\};工作正常,但没有匹配项,因为我有新行\n您可以替换所有新行符号,例如line1\nline2\nline3.replaceAll\\n,但这将为您提供新字符串,因此您必须将其存储在某个位置。但是,可能您的模式错误,您可以尝试正则表达式它是JS正则表达式,因此它可能与Java正则表达式机制略有不同
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]);
    }
}