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

请我想调整这个从文件中读取整数的代码。我希望代码能够检测数据集的数量 (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];


达令说
浏览 91回答 1
1回答

海绵宝宝撒

使用列表而不是数组。    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。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java