0

バイト配列から「.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」を作成するときです。

よろしくお願いします!ところで、誰かが以前にこの問題に遭遇したことがある場合は、お気軽に投票するか、コメントを残してください.

4

1 に答える 1

1

FileOutputStream の代わりにZipOutputStreamを使用する必要があります。

于 2014-04-25T18:16:13.653 に答える