- Java.io package classes
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package extras
- Java.io - Interfaces
- Java.io - Exceptions
- Java.io package Useful Resources
- Java.io - Discussion
Java - ByteArrayInputStream close()
Description
The Java ByteArrayInputStream close() method releases any system resources associated with the stream. The methods in this class can be called after close() invocation without generating I/O error.
Declaration
Following is the declaration for java.io.ByteArrayInputStream.close() method −
public void close()
Parameters
NA
Return Value
This method doesn't return any value.
Exception
IOException − If an I/O error occurs
Example 1
The following example shows the usage of Java ByteArrayInputStream close() method. We've created a variable buf as byte[] and initialized with few bytes. We've created a ByteArrayInputStream reference and then initialized it with buf variable. We've used the close() method to close the stream before invoking read() and available() method. Then in while loop, we're checking if stream contains any byte using available() method and then its bytes are read using read() method.
package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.IOException; public class ByteArrayInputStreamDemo { public static void main(String[] args) throws IOException { byte[] buf = {65, 66, 67, 68, 69}; ByteArrayInputStream bais = null; try { // create new byte array input stream bais = new ByteArrayInputStream(buf); // close invoked before read() and available() invocations bais.close(); int count = 0; // read till the end of the stream while((count = bais.available())>0) { // convert byte to character char c = (char)bais.read(); // print number of bytes available System.out.print("available byte(s) : "+ count); // print characters read form the byte array System.out.println(" & byte read : "+c); } } catch(Exception e) { // if I/O error occurs e.printStackTrace(); } finally { if(bais!=null) bais.close(); } } }
Output
Let us compile and run the above program, this will produce the following result −
available byte(s) : 5 & byte read : A available byte(s) : 4 & byte read : B available byte(s) : 3 & byte read : C available byte(s) : 2 & byte read : D available byte(s) : 1 & byte read : E
Example 2
The following example shows the usage of Java ByteArrayInputStream close() method. We've created a variable buf as byte[] and initialized with few bytes. We've created a ByteArrayInputStream reference and then initialized it with buf variable. In while loop, we're checking if stream contains any byte using available() method and then its bytes are read using read() method. In finally block, we've called the close() method to free up the resources.
package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.IOException; public class ByteArrayInputStreamDemo { public static void main(String[] args) throws IOException { byte[] buf = {65, 66, 67, 68, 69}; ByteArrayInputStream bais = null; try { // create new byte array input stream bais = new ByteArrayInputStream(buf); int count = 0; // read till the end of the stream while((count = bais.available())>0) { // convert byte to character char c = (char)bais.read(); // print number of bytes available System.out.print("available byte(s) : "+ count); // print characters read form the byte array System.out.println(" & byte read : "+c); } } catch(Exception e) { // if I/O error occurs e.printStackTrace(); } finally { if(bais!=null) bais.close(); } } }
Output
Let us compile and run the above program, this will produce the following result −
available byte(s) : 5 & byte read : A available byte(s) : 4 & byte read : B available byte(s) : 3 & byte read : C available byte(s) : 2 & byte read : D available byte(s) : 1 & byte read : E