2016-10-21 11 views
0

私はダブルスの束で満たされ、指定されたテキストファイルを読み込むしようとしている、テキストファイルは次のようなもの(各ラインの間にスペースは入れない)に見えるの読み方:2次元配列にテキストファイルJAVA

0、0.007133248、 0.003747135、0.0034464097、0.009517824、0.0036065334、 0.007921185、0.0041013476

1、0.006223865、5.804103E-4、5.6967576E-4、0.008850083、0.003269921、 3.7322243E-4、0.0011008179

2、0.0051101227、0.008973722 、0.0013274436,0.00922496,0.00508 列の17304、 0.004631279、本質的に0.0069321943

行は、データの2Dアレイ[1000]にこれを有効にしようとしている[8]、トラブルしかしデータを反復を有してい。私はこれまでに何を持っているのか、どんな助けにも感謝します。

public static void readFile2() throws IOException{ 

    Double[][] data = new Double[1000][8]; 
    int row = 0; 
    int col = 0; 
    Scanner scanner = null; 
    scanner = new Scanner(new BufferedReader(new FileReader("/Users/Roman/Documents/workspace/cisc124/Logger (1).csv"))); 

    while (scanner.hasNext() && scanner !=null) { 
     scanner.useDelimiter(","); 
     while(row<data.length && col<8){ 
     data[row][col] = Double.parseDouble(scanner.next()); 
     col++; 
     //System.out.print(Arrays.deepToString(data)); 

    } 
    col=0; 
    row++; 
    } 
    System.out.println(Arrays.deepToString(data)); 
    scanner.close(); 
} 
+0

どのようなコードに問題がありますか?あなたがそれを実行するとどうなりますか?代わりに何が起こると思いますか? – Robert

答えて

0

それはラインでthefileラインを読んで、より便利になります。..

String[] data = new String[1000]; 
int row = 0; 
try { 
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "utf-8"));   

    String line; 
    while ((line = br.readLine()) != null) { 
     data[row]= line; 
     row++; 
    } 
    br.close(); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

と終わりは同じ

System.out.println(Arrays.ToString(data)); 

または指定したインデックスにある要素を必要とする場合を行います行を分割して使用するDouble.parse();