2017-08-25 49 views
-2

我有這個jpeg文件有這4行我想要刪除的頂部。如何從java中的二進制圖像文件中刪除行?

--Boundary+F8FFFA18070580D7 
Content-Disposition: form-data; name="data";`filename="MySurveyImage0.jpg" 
Content-Type: image/JPEG 
ˇÿˇ‡JFIFHHˇ·XExifMM*ái&††¿† 
êˇÌ8Photoshop 3.08BIM8BIM%‘åŸè≤ÈÄ 

我試着讀取輸入流作爲行,刪除前4行並重寫到文件。由於IOUtils.readLines以文本形式讀取文件,圖像文件被損壞。

List<String> strings = IOUtils.readLines(objectContent); 
strings.subList(3, strings.size() 

我想我需要使用正確的編碼。如何讀取二進制文件,刪除前四行並重寫文件而不會破壞內容?

+0

你爲什麼認爲二進制會讀入字符串? –

+0

你有做過什麼研究嗎?通過'FileInputStream'和'FileOutputStream'使用面向字節的方法來完全避免編碼問題。然後在開始時查看輸入以查找行分隔符。你必須知道他們是\ n或\ r \ n。此外,看起來只有3行要刪除,而不是4.你絕對***不要***想要使用任何字符/字符串爲導向,這將破壞文件。 –

+0

這看起來像電子郵件中的附件。你有沒有辦法提取內容? –

回答