2012-04-15 14 views
0

パケットが16進ファイルとして格納されているファイルを読み込み、配列に格納します。たとえば、ここには3つのブロックがあり、それらを3つの別々の配列に格納する必要があります。配列には、これらの16進文字列を含める必要があります。誰かが私にそれを正しくする方法をアドバイスをしてもらえますか?バッファリングされたリーダと文字列バッファを使用しようとしましたが、各ブロックを別の配列に配置する必要があるため、正しく実装できませんでした。ファイルから16進文字列ブロックを読み込んで、それらをJavaの配列に入れます。

00 04 75 8D 49 C7 00 01 03 CD 50 3C 08 00 45 00 00 30 07 28 40 00 80 06 00 00 C0 EC 20 C0のA8 A8 EC 1E 04 05 00 17のAA A2の9E B3を00 00 00 00 70 02 FA F0 E1 2B 00 00 02 04 05 B4 01 01 04 02

00 01 03 CD 50 3C 00 01 03 DD 4C 2D 08 00 45 00 00 30 00 00 40 00 40 06 E1 37 C0 A8 EC 1EのC0のA8 EC 20 00 17 04 05 AA 5A B0 04のAA A2の9EのB4 70 12 16 D0 6aは、DC 00 00 02 04 05 B4 01 01 04 02

00 04 75 8D 49 C7 00 01 03 cd 50 3c 08 00 45 00EC 20 Iは、最大行っているC0 A8 EC 1E 04 05 00 17のAA A2 9EのB4のAA 5aがB0 05 50 10 FA F0 59 AB 00 00

A00 28 07 29 40 00 80 06 00 00 C0これは、しかし、私が望むようにそれを得ることができませんでした。特に私は各ブロックを区別したいと思います。

BufferedReader br=null; 
    try{ 
    br = new BufferedReader(new FileReader(cmd)); 
    StringBuffer sb = new StringBuffer(); 
    String line; 
      while((line = br.readLine())!= null) 
      { 
      sb.append(line); 
      } 
    String [] store = sb.toString().split(" "); 
    pkt = store; 
    }catch(IOException ie) {ie.printStackTrace();} 
+3

あなたがたに最も近いと考えているあなたの試みを投稿してくださいワーキング。 – dasblinkenlight

+0

追加されましたが、完全ではありません。ありがとうございました。 –

+1

質問にあなたのコードを含めることをお勧めします。編集リンクをクリックし、下から少なくとも1行はスキップしてコードを貼り付けます。各行の先頭に4つのスペースを追加して、ページ上にコードのように見えるようにします。 – dasblinkenlight

答えて

1

分割が機能するには、行間にスペースを追加する必要があります。

sb.append(line).append(' '); 

また、StringBuilderではなくStringBufferを使用する必要があります。

0

リストをリストに入れることができます。あなたは、ループの終わりに望むように

ArrayList<String[]> list = new ArrayList<String[]>(); 
    String line; 
    while((line = br.readLine())!= null) 
     { 
      if(!"".equals(line.trim())){ 
        list.add(line.split(" ")); 
      } 
     } 
0

必要なのは、配列リストにすべてのパケットを格納し、それらを処理することである

BufferedReader br=null; 
ArrayList<String[]> pkts = new ArrayList<String[]>(); 

try{ 
     br = new BufferedReader(new FileReader(cmd)); 

     String line; 
     while((line = br.readLine())!= null) 
     { 
      pkts.add(line.trim().toString().split(" ")); 
     } 

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

for(String[] pkt : pkts) { 
    // process your hex string array 
}