實現思路:
將大檔案拆分
因為拆分的可以是任何檔案,所有這裡使用位元組流進行拆分
可以利用緩衝區來對檔案進行拆分,如每次讀取400mb的類容將其寫成乙個新的檔案
拆分的檔案需要順序標明,以便正確順序還原
首先定義方法,我這裡給兩個引數,分別是目標檔案的路徑與拆分後寫入的路徑。
// 將大檔案拆分成最大400mb的檔案
public
static
void
test2
(file src, file dest)
throws ioexception
// 建立位元組流
fileinputstream fis =
newfileinputstream
(src)
;// 建立乙個400mb的緩衝區
byte
bs =
newbyte
[1024
*1024
*400];
// 用於給檔案序號
int count =1;
int len =0;
while
((len = fis.
read
(bs))!=
-1) fis.
close()
;}}
將檔案合併
合併檔案我們需要使用到合併流,合併流的構造需要傳入inputstream或enumeration型別的引數
我們可以將每個檔案以流的形式存入vector集合中。
// 將目錄下的檔案存入vector集合中
public
static vector getallfile
(file src)
throws ioexception }}
return vector;
}
通過vector的elements()方法獲取enumeration物件,並建立合併流
// 合併目錄中的檔案
public
static
void
mergetest
(file src, file dest)
throws ioexception
sis.
close()
; fos.
close()
;}}
main方法測試
public
static
void
main
(string[
] args)
throws ioexception
大檔案拆分
fp e logtest u ex160314.log 原檔名稱 fname e logtest u ex160314 新檔名稱 fsize 1024 1024 1mb,定義每個新檔案的大小 num 1 新檔名後 1 sum 0 每個新檔案的當前大小 with open fp,rb as fo fo...
php將大檔案平均拆分成小檔案
最近獲得了乙個40多萬行資料的檔案,需要把這個大檔案分成小檔案,在做完這件事之後,寫個文件記錄一下。相關主要函式 輸出 0 272731 321343 269707200 30這些函式提供的功能,可以給拆分檔案提供乙個思路 將指標不斷地移動相同的位數,每移動一次指標得到乙個等長字串,將等長字串寫入新...
大檔案拆分與合併指令碼(Python3 8)
更多常用方法封裝和指令碼彙總歡迎移步 下面直接貼 usr bin env python coding utf 8 date 2020 11 16 20 33 author joy version python3.8 import os,re defnormal path args return os...