2012-04-15 32 views
0

我想讀取將數據包作爲十六進制文件存儲並將其存儲在數組中的文件。例如,這裏有三個模塊,我需要將它們存儲在3個獨立的數組中。數組應該包含這些十六進制字符串。有人可以請教我如何正確地做到這一點?我嘗試使用緩衝讀取器和字符串緩衝區,但無法正確實現,因爲每個塊需要放在不同的數組中。從文件中讀取十六進制字符串塊並將它們放入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 A8 EC 20 C0 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 00 00 28 07 29 40 00 80 06 00 00 C0 A8 EC 20 C0 A8 EC 1E 04 05 00 17 AA A2 9E B4 AA 5A B0 05 50 10 FA F0 59 AB 00 00

我已經做了高達這個,但不能按我想要的方式得到它。特別是我想區分每個塊。

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 2012-04-15 02:19:20

+0

已添加,但尚未完成。謝謝。 – 2012-04-15 02:26:17

+1

最好在問題中包含你的代碼。點擊編輯鏈接,從底部跳過至少一行,然後粘貼您的代碼。在每行的開頭添加四個空格,使代碼看起來像頁面上的代碼。 – dasblinkenlight 2012-04-15 02:28:24

回答

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 
} 
相關問題