La clase InputStream es la superclase de todas las clases io, es decir, representa un flujo de entrada de bytes. Representa el flujo de entrada de bytes. Las aplicaciones que definen la subclase de InputStream deben proporcionar un método que devuelva el siguiente byte de entrada.
Se invoca un método reset() que reubica la secuencia en la posición marcada recientemente. Declaración :
public abstract class InputStream extends Object implements Closeable
Constructor:
- InputStream(): constructor único
- mark() : Java.io.InputStream.mark(int arg) marca la posición actual del flujo de entrada. Establece el límite de lectura, es decir, el número máximo de bytes que se pueden leer antes de que la posición de la marca se vuelva inválida.
Sintaxis:public void mark(int arg) Parameters : arg : integer specifying the read limit of the input Stream Return : void
- read() : java.io.InputStream.read() lee el siguiente byte de datos del flujo de entrada. El byte de valor se devuelve en el rango de 0 a 255. Si no hay ningún byte disponible porque se ha llegado al final de la secuencia, se devuelve el valor -1.
Sintaxis:public abstract int read() Parameters : ------ Return : Reads next data else, -1 i.e. when end of file is reached. Exception : -> IOException : If I/O error occurs.
- close() : java.io.InputStream.close() cierra el flujo de entrada y libera los recursos del sistema asociados con este flujo a Garbage Collector.
Sintaxis:public void close() Parameters : ------ Return : void Exception : -> IOException : If I/O error occurs.
- read() : Java.io.InputStream.read(byte[] arg) lee el número de bytes de arg.length del flujo de entrada a la array de búfer arg. Los bytes leídos por el método read() se devuelven como int. Si len es cero, entonces no se leen bytes y se devuelve 0; de lo contrario, hay un intento de leer al menos un byte.
Sintaxis:public int read(byte[] arg) Parameters : arg : array whose number of bytes to be read Return : reads number of bytes and return to the buffer else, -1 i.e. when end of file is reached. Exception : -> IOException : If I/O error occurs. -> NullPointerException : if arg is null.
- reset() : Java.io.InputStream.reset() es invocado por el método mark(). Reposiciona el flujo de entrada a la posición marcada.
Sintaxis:public void reset() Parameters : ---- Return : void Exception : -> IOException : If I/O error occurs.
- markSupported() : el método Java.io.InputStream.markSupported() prueba si este flujo de entrada es compatible con los métodos de marcar y restablecer. El método markSupported de InputStream devuelve falso de forma predeterminada.
Sintaxis:public boolean markSupported() Parameters : ------- Return : true if input stream supports the mark() and reset() method else,false
- skip() : Java.io.InputStream.skip(long arg) salta y descarta arg bytes en el flujo de entrada.
Sintaxis:public long skip(long arg) Parameters : arg : no. of bytes to be skipped Return : skip bytes. Exception : -> IOException : If I/O error occurs.
Programa Java que explica los métodos de la clase InputStream:
// Java program illustrating the working of InputStream method // mark(), read(), skip() // markSupported(), close(), reset() import java.io.*; public class NewClass { public static void main(String[] args) throws Exception { InputStream geek = null ; try { geek = new FileInputStream( "ABC.txt" ); // read() method : reading and printing Characters // one by one System.out.println( "Char : " +( char )geek.read()); System.out.println( "Char : " +( char )geek.read()); System.out.println( "Char : " +( char )geek.read()); // mark() : read limiing the 'geek' input stream geek.mark( 0 ); // skip() : it results in redaing of 'e' in G'e'eeks geek.skip( 1 ); System.out.println( "skip() method comes to play" ); System.out.println( "mark() method comes to play" ); System.out.println( "Char : " +( char )geek.read()); System.out.println( "Char : " +( char )geek.read()); System.out.println( "Char : " +( char )geek.read()); boolean check = geek.markSupported(); if (geek.markSupported()) { // reset() method : repositioning the stram to // marked positions. geek.reset(); System.out.println( "reset() invoked" ); System.out.println( "Char : " +( char )geek.read()); System.out.println( "Char : " +( char )geek.read()); } else System.out.println( "reset() method not supported." ); System.out.println( "geek.markSupported() supported" + " reset() : " +check); } catch (Exception excpt) { // in case of I/O error excpt.printStackTrace(); } finally { // releasing the resources back to the // GarbageCollector when closes if (geek!= null ) { // Use of close() : closing the file // and releasing resources geek.close(); } } } } |
Nota:
este código no se ejecutará en el IDE en línea ya que no hay ningún archivo suc presente aquí.
Puede ejecutar este código en su sistema para verificar el funcionamiento.
El archivo ABC.txt utilizado en el código tiene
HelloGeeks
Producción :
Char : H Char : e Char : l skip() method comes to play mark() method comes to play Char : o Char : G Char : e reset() method not supported. geek.markSupported() supported reset() : false
Este artículo es aportado por Mohit Gupta 🙂 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA