Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Pblm with JAR/InputStream  RSS feed

 
Hasan Pasha
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There is code to convert XML files to a JAR file, convert the JAR file to a byte array and transfer it as a input stream.

A receiver class reads the input stream and forms a JAR file and extracts the XML files.
Occassionally I am getting a ZIPException: invalid stored block lengths while trying to form the JAR file using the input stream.

I need some help to overcome this.

Error:

ApplicationXMLReceiver, I/O Error: ,

java.util.zip.ZipException: invalid stored block lengths
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java(Compiled Code))
at java.util.zip.ZipInputStream.read(ZipInputStream.java(Compiled Code))
at java.util.jar.JarInputStream.read(JarInputStream.java(Compiled Code))at java.io.FilterInputStream.read(FilterInputStream.java(Inlined Compiled Code))
...

Thanks
 
Norm Radder
Ranch Foreman
Posts: 2240
28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry, don't understand your problem Could you explain it some more.
The following is confusing:

form the JAR file using the input stream

I would interpret "form" as an output/creation step, so how is it connected to using the input stream?

Is the error occuring when writing to the jar file or when reading from it?
 
Hasan Pasha
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We have a utility (a class called called Jar) using which we create JAR files.

Server-end
I create a JAR and add 2 XML files to this JAR and convert this JAR to byte array and write a message to a message queue.

Client-end
Read the message from the queue... get the input stream and create a Jar file (utility... it has a constructor that accepts InputStream and converts it to a JAR).

I guess I am getting this problem when I am getting the problem when reading from the JAR.

Will this be due to 'byte[] buffer = new byte[4096];'... the JAR is pbly larger than this size?

Please reply at your earliest convenient time.

 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!