I am trying to create ".zip" file from byte array but the error given appear everytime I am attempt to open it. Here is the code:
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);
}
}
I've made a research but didn't find a solution. Also, I tried to create a ".txt" file and it works. The only problem is when it comes to creating a ".zip".
Thank you beforehand ! By the way, if someone have encountered this problem before, feel free to vote up or leave me a comment if you wish, because I am interested if it is a common mistake.
You need to use ZipOutputStream instead of FileOutputStream.