读取文本文件并返回双数组

时间:2014-10-27 00:42:12

标签: java input

我需要编写一个方法来读取提供的文件名并返回从文件中读取的双精度数组。

可以假设文件只包含一列中的数字,每行一个数字。如果文件无法读取或格式不正确,则可以返回null。

如何尝试这个?

这是我的尝试:

public static double[] fileRead(String filename) {
    double[] array = new double();
    // get some sort of reader here
    return array;
}

我不知道如何从这里继续

1 个答案:

答案 0 :(得分:0)

创建ArrayList并继续逐行读取文件。将该行转换为Double值并将其添加到ArrayList。如果由于任何原因无法读取文件,请从catch块返回null

public static Double[] fileRead(String filename) {
  List<Double> list= new ArrayList<Double>();
  BufferedReader br = new BufferedReader(new FileReader(fileName));
  try {
        String line = br.readLine();
        while (line != null) {
            list.add(Double.parseDouble(line));
            line = br.readLine();
        } 
        return list.toArray(new double[list.size()]);
    } catch(Exception e){
         return null;
    }finally {
         br.close();
    }
}