The moose likes I/O and Streams and the fly likes how to use ByteArrayInputStream? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » I/O and Streams
Bookmark "how to use ByteArrayInputStream?" Watch "how to use ByteArrayInputStream?" New topic

how to use ByteArrayInputStream?

arun mahajan
Ranch Hand

Joined: Dec 07, 2001
Posts: 305
I am getting input / send output thru socket.... how can i use ByteArrayInputStream and ByteArrayOutputStream to get the input data from socket??? how can i combine a stream of data to be send to socket using ByteArrayInputStream and ByteArrayOutputStream ???
See the problem is that if I use other Streams and their read method has one problem it blocks the stream till it:
1. either gets some bytes
2. or gets some exeption
though my objective is to get immediate information wheather their is some data available their or not? I was thinking of using ByteArrayInputStream Read method and will try to read first byte to see if it is -1 or not..but could able to understand how to use it...or is their any other way out..
Can you please help me?
Peter Reinhardt
Ranch Hand

Joined: Aug 02, 2002
Posts: 57
I don't think that a ByteArrayInputStream can solve your problem, a ByteArrayInputStream simply reads bytes out of an byte-array. It has nothing to do with a socket.
If you have a look at SocketInputStream you will see that there is a method called "available()" which gives you the number of bytes you can read without blocking.
Generally the Java input streams are all blocking (up to jdk 1.4), you can try to use the new input streams of 1.4 (java.nio) to solve your problem.

SCJP 1.2, SCJD, SCEA, IBM 484, Weblogic 7
arun mahajan
Ranch Hand

Joined: Dec 07, 2001
Posts: 305
Thanks Peter for ur reply..
but I am not able to SocketInputStream class..where it is available i am using JDK1.3 or it is in JDK1.4... sorry perhaps missing somewhere.
Though I can get an answer by setting the timeout field but now a bit curious about this SocketInput/output stream where can i get this.
Pl show me the path..
I agree. Here's the link:
subject: how to use ByteArrayInputStream?
It's not a secret anymore!