2014-10-27 55 views
-2

我需要編寫一個方法來讀取提供的文件名並返回從文件中讀取的雙精度數組。讀取文本文件並返回雙數組

可以假定文件只包含單列中的數字,每行一個數字。如果文件無法讀取或格式不正確,則返回null即可。

如何去嘗試呢?

這是我的嘗試:

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

我不知道如何從這裏

+4

這個問題似乎是脫離主題,因爲它是給我的代碼。 – 2014-10-27 00:44:27

+0

也許你應該嘗試一些「簡化代碼」,然後在這裏問一個問題(或問問你的教授)何時遇到特定問題。 – markspace 2014-10-27 00:52:22

+0

*「嘗試」*? – 2014-10-27 01:03:37

回答

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(); 
    } 
}