FileOutputStream zip文件打开ERROR:"文件无法作为存档打开"

时间:2014-04-25 18:09:30

标签: java zip fileoutputstream bytearrayoutputstream

我正在尝试从字节数组创建“.zip”文件,但每次尝试打开它时都会出现错误。这是代码:

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”。

事先谢谢你!顺便说一句,如果有人之前遇到过这个问题,请随时投票或留下评论,如果你愿意,因为我感兴趣,如果这是一个常见的错误。

1 个答案:

答案 0 :(得分:1)

您需要使用ZipOutputStream而不是FileOutputStream。