从文件中读取数据,而无需手动输入数组的长度



请 我想调整这段从文件中读取整数的代码。 我希望代码能够检测数据集的数量 (n(,而不必像下面那样手动输入数字 (4000(

双[] 高 = 新的双倍[4000];

public class Extracto {
public static void main(String[] args) throws IOException {
File fil = new File("C:\Users\Desktop\kaycee2.csv");
FileReader inputFil = new FileReader(fil);
BufferedReader in = new BufferedReader(inputFil);
double[] tall = new double[4000];
String s = in.readLine();
int i = 0;
while (s != null) {
// Skip empty lines.
s = s.trim();
if (s.length() == 0) {
continue;
}
tall[i] = Double.parseDouble(s); // This is line 19.
//  System.out.println(tall[i]);
s = in.readLine();
i++;
}

我希望调整后的代码能够获得数据长度,而无需像下面的代码所示那样手动将其放入 4000 长度。

双[] 高 = 新的双倍[4000];

正如托马斯所提到的,使用列表,而不是数组。

File fil = new File("C:\Users\Desktop\kaycee2.csv");
FileReader inputFil = new FileReader(fil);
BufferedReader in = new BufferedReader(inputFil);
ArrayList<Double> tall = new ArrayList<>();
while(in.ready()){ 
String s = in.readLine().trim();
if(!s.isEmpty()){
tall.add(Double.parseDouble(s);
} 
}

如果使用列表,则可以进一步压缩代码。 还要在字符串读取不是数字的情况下添加 try-catch。

最新更新