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_Split_Bufferedreader - Fatal编程技术网

Java 读取文件并将值存储到两个数组中,每行一个

Java 读取文件并将值存储到两个数组中,每行一个,java,arrays,split,bufferedreader,Java,Arrays,Split,Bufferedreader,我在这里得到了这个代码: try{ FileReader file = new FileReader("/Users/Tda/desktop/ReadFiles/tentares.txt"); BufferedReader br = new BufferedReader(file); String line = null; while((line = br.readLine()) != null){

我在这里得到了这个代码:

   try{

        FileReader file = new FileReader("/Users/Tda/desktop/ReadFiles/tentares.txt");

        BufferedReader br = new BufferedReader(file);


        String line = null;


        while((line = br.readLine()) != null){


            String[] values = line.split(",");

            grp1 = new int[values.length]; 


            for(int i=0; i<grp1.length; i++){
                try {
                    grp1[i]= Integer.parseInt(values[i]);

                }catch (NumberFormatException e) {
                    continue;
                }
            }               
            System.out.println(Arrays.toString(grp1));

        }

        System.out.println("");

        br.close();

    }catch(IOException e){
        System.out.println(e);
    }
现在,我正在将这些值存储到一个int数组中。 但是如果我想将每行值存储到两个数组中

考虑以某种方式使用Arrays.CopyOfRange,并从int数组复制值
分为两个新数组。

之前,而

List<int[]> groups = new ArrayList<>();
之后:

for (int[] grp : groups) {
    ...
}
列表对于不断增长的“数组”非常有用

这个答案与你的问题不符,但会提示我在你的问题帖下的评论

在while循环开始时尝试以下操作:

  • 用于查找每行中第一次出现的字符
    。这将是第二部分的开始索引
  • 从新的起始索引调用
    line.length
    。这将为您提供没有字符的行,并且您的第一个数字不会丢失

  • 您是否尝试添加两个数组。很简单,你可以继续。你也可以使用一个二维数组,其中每一个一级索引对应一行,每一个二级索引对应一个拆分
    int
    。那么数字80和72呢,它们是每行的第一个数字?它们与字符和“:”粘在一起,将导致NumberException。你答对了,但数字不会存储在你的数组中……我如何才能将数字80和72放入数组?@user2874051请尝试我答案中的内容:-)谢谢,我会尝试:)
    groups.add(grp1);
    
    for (int[] grp : groups) {
        ...
    }
    
    groups.size()     grp1.length
    groups.get(3)     grp1[3]
    groups.set(3, x)  grp1[3 = x