Home »
Java programming language
Java PipedInputStream available() Method with Example
PipedInputStream Class available() method: Here, we are going to learn about the available() method of PipedInputStream Class with its syntax and example.
Submitted by Preeti Jain, on April 17, 2020
PipedInputStream Class available() method
- available() method is available in java.io package.
- available() method is used to return the number of available bytes left that can be read from this PipedInputStream without blocking.
- available() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
- available() method may throw an exception at the time of returning the available bytes left.
IOException: This exception may throw when getting any input/output error while performing.
Syntax:
public int available();
Parameter(s):
- It does not accept any parameter.
Return value:
The return type of the method is int, it returns the number of available bytes that can be read without blocking as it may return 0 when this stream closed by using the close() method.
Example:
// Java program to demonstrate the example
// of int available() method
// of PipedInputStream
import java.io.*;
public class AvailableOfPIS {
public static void main(String[] args) throws Exception {
int val = 65;
try {
// Instantiates PipedInputStream and
// PipedOutputStream
PipedInputStream pipe_in = new PipedInputStream();
PipedOutputStream pipe_out = new PipedOutputStream();
// By using connect() method is to connect
// this pipe_in to the given pipe_out
pipe_in.connect(pipe_out);
for (int i = 0; i < 3; ++i) {
// By using write() method is to
// write the val to the stream pipe_out
pipe_out.write(val);
val++;
}
// By using available() method is to return
// the available bytes to be read
int avail_bytes = pipe_in.available();
System.out.println("pipe_in.available(): " + avail_bytes);
for (int i = 0; i < 3; ++i) {
// By using read() method is to
// read the integer and convert it into
// char
char ch = (char) pipe_in.read();
System.out.println("pipe_in.read(): " + ch);
}
// By using close() method is to close
// the stream
pipe_in.close();
pipe_out.close();
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
Output
pipe_in.available(): 3
pipe_in.read(): A
pipe_in.read(): B
pipe_in.read(): C