我在这里得到了这段代码:
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);
}
这是文件即时阅读所包含的内容。
grp1:80,82,91,100,76,65,85,88,97,55,69,88,75,97,81
grp2:72,89,86,85,99,47,79,88,100,76,83,94,84,82,93
现在我将值存储到一个int数组中。 但是,如果我想将每行值存储到两个数组中?
考虑以某种方式使用Arrays.CopyOfRange,并从int数组中复制值 分成两个新阵列。
答案 0 :(得分:2)
此答案与您的问题不符,但会在您的问题帖子中提示我的评论。
在while循环的开头尝试:
:
的第一个出现位置。这将是第二部分的开始索引。line.length
。这将为您提供没有字符的行,并且您的第一个数字不会丢失。答案 1 :(得分:0)
在while
List<int[]> groups = new ArrayList<>();
在循环结束之前:
groups.add(grp1);
然后:
for (int[] grp : groups) {
...
}
List
对于不断增长的“数组”非常有用。
groups.size() grp1.length
groups.get(3) grp1[3]
groups.set(3, x) grp1[3 = x