2012-01-08 199 views
-1

我讀取文件並將其轉換爲一個字符串(例如.jpg文件到字符串)將文件轉換爲字符串,然後將其轉換爲一個文件

然後我寫該字符串到文件等(example.jpg)

但窗口說它的破損文件,並不能查看,

最新錯了?

+0

你如何將文件轉換爲字符串?這幾乎肯定是問題... – 2012-01-08 20:30:30

回答

0

我建議您看看Java Almanac中的示例,因爲您無法使用String讀取圖像。

2

您不能使用字符串來可靠地保存二進制數據(例如圖像),除非您首先將其編碼爲類似於Base64的字符串 - 它旨在表示字符串中的任何二進制值。否則,字符串只能用於字節值的一個子集。 (例如,我無法在沒有編碼的情況下真正映射字符串中的0字節值 - 至少假設類似ASCII或UTF-8)。

如果您比較了此操作之前和之後的字節,你會發現它們不一樣。相反,使用像字節數組(byte[] myImage)來存儲數據。

1

將文件轉換爲字符串時,您將使用編碼,但並非所有編碼都允許將所有字節組合作爲有效字符。因此,在再次寫出jpeg時,已經損壞了jpeg,無效的字符/字節組合通常會被完全忽略,或者被替換爲問號之類的東西,從而導致不愉快的jpeg。

相關問題