Android檔案的分割和組裝

2021-09-08 09:53:05 字數 1741 閱讀 9167

使用udp資料報傳送檔案時,由於udp資料報大小的限制,乙個檔案要放在幾個udp資料報裡面傳送,這就需要把乙個檔案分割成若干部分,分別放進若干個udp資料報裡面,在接收端,收到這些udp資料報以後,再對檔案進行組裝,從而得到乙個完整的檔案。

// 要分割的檔案

public static randomaccessfile raf_split;

// 要合併的檔案

public static randomaccessfile raf_merge;

// 檔案長度

public static long len;

// byte陣列

public static int offset;

public static int os = 5;

public static int size = 1024-os;

public static byte file_data = new byte[1024];

fileoperclass類實現檔案的分割和組裝操作:

// 建構函式(0-分割檔案,1-合併檔案)

public fileoperclass(string file, int x)

catch (exception e)

} // 合併檔案

else if (x == 1)

catch (exception e)

} }

分割檔案:

// 分割檔案並傳送

public static void split()

// 記錄最後乙個資料報剩餘位元組的資料報

// 資料報型別

file_data[0] = (byte) 2;

// 客戶端id

file_data[1] = (byte) mainactivity.cli_id;

// 會話id

file_data[2] = (byte) mainactivity.ses_id;

// 該會話資料報數量

file_data[3] = (byte) pnum;

// 資料報id

file_data[4] = (byte) p_id;

m1 = pmod / 128;

m2 = pmod % 128;

file_data[5] = (byte) m1;

file_data[6] = (byte) m2;

// 傳送資料報

mainactivity.trd_send.set_action(2, file_data);

} catch (exception e)

finally

catch(exception err)

} }

合併檔案:

// 合併檔案

public static void merge()

}for (i=0; i// 最後乙個byte陣列寫進檔案

raf_merge.write(tmp_byte[mainactivity.mer_pkt_num-1],

os, mainactivity.mer_pkt_mod );

} catch(exception e)

finally

catch(exception err)

} }

Linux或Android下分割大檔案的方法

1 作為測試人員或開發人員經常抓log,常用的命令就是 adb shell logcat v time mnt sdcard 執行上面上面的命令後再sd卡下不停的輸出log檔案有時候抓幾天幾夜log檔案會達到幾十個g,當出現問題是我們常用的日誌檢視工具無法開啟這麼大的檔案,並且也沒有什麼好的分割工具...

分割檔案的指令碼

今天需要把乙個2百萬的號碼檔案按行分割成500 個的小檔案,當然用linux來做很方便 首選split split version split coreutils 5.2.1 written by torbjorn granlund and richard m.stallman.我的版本支援按行分割...

Android之ListView中的分割線

listview中每個item項之間都有分割線,設定android footerdividersenabled表示是否顯示分割線,此屬性預設為true。1.不顯示分割線只要在listview控制項中新增android footerdividersenabled false 即可。listview a...