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