Como criar um arquivo zip de vários arquivos de imagem

Eu estou tentando criar um arquivo zip de vários arquivos de imagem. Eu consegui criar o arquivo zip de todas as imagens, mas de alguma forma todas as imagens foram enforcadas em 950 bytes. Eu não sei o que está errado aqui e agora eu não posso abrir as imagens foram compactadas em que o arquivo zip.

Aqui está o meu código. Alguém pode me deixar saber o que está acontecendo aqui?

String path="c:\\windows\\twain32";
File f=new File(path);
f.mkdir();
File x=new File("e:\\test");
x.mkdir();
byte []b;
String zipFile="e:\\test\\test.zip";
FileOutputStream fout=new FileOutputStream(zipFile);
ZipOutputStream zout=new ZipOutputStream(new BufferedOutputStream(fout));


File []s=f.listFiles();
for(int i=0;i<s.length;i++)
{
    b=new byte[(int)s[i].length()];
    FileInputStream fin=new FileInputStream(s[i]);
    zout.putNextEntry(new ZipEntry(s[i].getName()));
    int length;
    while((length=fin.read())>0)
    {
        zout.write(b,0,length);
    }
    zout.closeEntry();
    fin.close();
}
zout.close();

questionAnswers(2)

yourAnswerToTheQuestion