2016-09-26 361 views
-1

texfileを1行ずつ読み込み、各行を独自の配列に格納してこれらの行をデータ列にするJavaプログラムを作成しようとしています。 、Javaがテキストファイルを読み込んで各行を独自の配列に格納する

  • 122,80,100,119,162,90,136 ...
  • 122,80,100,119,162,90,136 ...
  • 64,74,70,64:たとえば、以下data.txtをファイルには、以下のデータを持っています76,62,84,78 ...

...、正、負、負Iはしたがって4行、4つの異なるアレイので、各ラインは、それ自身の配列に格納したいです各行はspに属しますエコロジーカラム。 私はテキストファイルを読むことができます。ここで

BufferedReader br = new BufferedReader(new FileReader("C://data.txt")); 
     ArrayList lines = new ArrayList(); 
     for(String line = br.readLine();line != null;line = br.readLine()) { 
      line.replaceAll(",","\\."); 
      String[] fields = line.split(" "); 
      System.out.println(" " + fields[0]); 
      lines.add(fields); 
     } 
     String[][] strings = (String[][]) lines.toArray(new String[lines.size()][]); 
     System.out.println("Total Lines: " + strings.length); 

が予想される出力です:あなたは、特定の配列の各ラインをしたい場合は、以下を助けるべき

output

+0

リスト(リストではない)を使うことができます。 – Tokazio

+1

'line'は既に行です。この' line'を 'ArrayList 'というコレクションに入れれば、そのコレクションを繰り返し処理することができます。 –

+2

"併合する"ということはどういう意味ですか?一緒に合併されたところはどこですか?私は作成されている配列の配列を参照してください。何が起こると思いますか、代わりに何が起こりますか? – RealSkeptic

答えて

0

BufferedReader br = new BufferedReader(new FileReader("C:\\data.txt")); 
ArrayList lines = new ArrayList(); 
for(String line = br.readLine();line != null;line = br.readLine()) { 
    //comma will be replaced with . 
    line=line.replaceAll(",","\\."); 
    //each line will be stored in an array with . as separator 
    String[] fields = line.split("\\."); 
    //System.out.println(" " + fields[0]); 
    lines.add(fields); 
} 
String[][] strings = (String[][]) lines.toArray(new String[lines.size()][]); 
System.out.println("Total Lines: " + strings.length); 

//code to display 
for(String s[]:strings){ 
    for(String ss:s){ 
     System.out.print(ss+", "); 
    }System.out.println(); 
} 

その出力

Total Lines: 4 
122, 80, 100, 119, 162, 90, 136, 
122, 80, 100, 119, 162, 90, 136, 
64, 74, 70, 64, 76, 62, 84, 78 , 
positive, negative, negative , 
0

私はそれがあなたが必要とするものだと思う:

 BufferedReader br = new BufferedReader(new FileReader("C://data.txt")); 
     ArrayList<String[]> lines = new ArrayList<String[]>(); 
     for(String line = br.readLine();line != null;line = br.readLine()) { 
      String[] fields = line.split(","); 
      lines.add(fields); 
     } 
     System.out.println("Total Lines: " + lines.size()); 
     for(String[] lns:lines) { 
      for (int i = 0; i < lns.length; i++) { 
       if (i == lns.length - 1) System.out.print(lns[i] + "\n"); else System.out.print(lns[i] + ", "); 
      } 
     } 
関連する問題