0
我試圖從字節數組中創建「.zip」文件,但每次嘗試打開它時都會出現錯誤。這裏是代碼:FileOutputStream壓縮文件打開錯誤:「文件無法打開爲壓縮文件」
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.PrintWriter;
public class ReadTxtFile {
public static void BinFileContToBinArr(String path) throws Throwable{
BufferedReader inputStream = null;
PrintWriter outputStream = null;
try{
String el = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
inputStream = new BufferedReader(new FileReader(path));
FileOutputStream fos = new FileOutputStream("D:/texttNE22W.zip");
while((el=inputStream.readLine()) != null){
baos.write(el.getBytes());
}
byte[] b = baos.toByteArray();
for(int i = 0; i<b.length; i++){
System.out.print((char)b[i] + " ");
}
fos.write(b);
}
finally{
if (inputStream!=null){
inputStream.close();
}
if(outputStream!=null){
outputStream.close();
}
}
}
public static void main(String[] args) throws Throwable {
String path = "D:/text.txt";
BinFileContToBinArr(path);
}
}
我做了一個研究,但沒有找到解決方案。此外,我試圖創建一個「.txt」文件,它的工作原理。唯一的問題是創建一個「.zip」。
事先謝謝!順便說一句,如果以前有人遇到過這個問題,可以隨意投票或者如果你願意的話給我留言,因爲如果這是一個常見的錯誤,我很感興趣。
謝謝!然而,在我正在學習的書中,它說要使用FileOutputStream,並且我對該解決方案感興趣。 – Kirev
因此,本書要求您手動執行壓縮?您需要複製ZipOutputStream的功能而不使用它?你需要編寫一個Zip算法的實現?這不是很微不足道,你可能想在這裏開始你的研究:http://en.wikipedia.org/wiki/Zip_%28file_format%29 – yotsov
好吧,是的。謝謝,我肯定會從這裏開始...... :) – Kirev