java對檔案損壞校驗

2021-09-01 13:24:58 字數 934 閱讀 4804

檔案損壞校驗

1.背景

出於專案業務的需求,需要對上傳檔案處理,服務端需要甄別損壞檔案,去攔截。則需要對上傳的檔案去判斷,疏於搜尋水平,谷歌了下沒找到好的方法。則思考了一種目前看來可行的判別方法。

2.思路。

根據檔名,通過字串分隔,判斷出檔案的現用格式。再引入tika包,對檔案的實際格式進行判斷,則與現用格式比較,不同,則為格式強制轉換等損壞檔案,這樣,就濾除了此類損壞的檔案。

3.過程。

(1).專案裡引入tika包

org.apache.tika

tika

1.18

pom org.apache.tika

tika-parsers

1.18

org.apache.tika

tika-core

1.18

(2).**裡使用

以下擷取部分**以作示例,具體業務,根據自身業務需要,以做變化,如有好的idea,歡迎討論溝通。

tika tika = new tika();

// 標識損壞檔案數

int n = 0;

// 標識損壞檔案位置

int faultflag = new int[multipartfiles.length];

//multipartfiles是上傳的檔案陣列,根據自己的需求來獲取真實名稱,此處為我的業務場景。

string temp = multipartfiles[i].getoriginalfilename().split("\\.");

//獲取檔案現用格式

string filetype = temp[temp.length - 1];

if ("doc".equals(filetype))

java對檔案分片處理

檔案分割與合併是乙個常見需求,比如 上傳大檔案時,可以先分割成小塊,傳到伺服器後,再進行合併。預分配檔案占用磁碟空間 r 表示唯讀的方式 rw 支援檔案隨機讀取和寫入 randomaccessfile raf new randomaccessfile new file file r 檔案長度 lon...

FTP PUT 檔案損壞

這種情況出現了好幾次。經過搜尋發現 原來通過linux向ftp伺服器上傳檔案有兩種模式 字元模式 ascii 和二進位制模式 binary 預設是ascii模式。一般上傳exe檔案和壓縮包要用二進位制模式。具體操作 登入ftp後,上傳檔案前,在ftp 狀態下輸入 color red bin colo...

JAVA對檔案和資料夾的操作

b 讀取文字檔案內容 b b 新建目錄 b 新建目錄 param folderpath 目錄 return 返回目錄建立後的路徑 public string createfolder string folderpath return txt b 多級目錄建立 b 多級目錄建立 param folde...