Un InputStreamReader es un puente entre flujos de bytes y flujos de caracteres . Lee bytes y los decodifica en caracteres utilizando un juego de caracteres específico. El juego de caracteres que utiliza se puede especificar por nombre o se puede dar explícitamente, o se puede aceptar el juego de caracteres predeterminado de la plataforma.
Declaración :
public class InputStreamReader extends Reader
Constructores :
- InputStreamReader(InputStream in_strm) : crea un InputStreamReader que utiliza el conjunto de caracteres predeterminado.
- InputStreamReader(InputStream in_strm, Charset cs): crea un InputStreamReader que usa el juego de caracteres dado.
- InputStreamReader(InputStream in_strm, CharsetDecoder dec): crea un InputStreamReader que usa el decodificador de juego de caracteres dado.
- InputStreamReader(InputStream in_strm, String charsetName) : Crea un InputStreamReader que usa el juego de caracteres nombrado
Métodos:
- ready() : java.io.InputStreamReader.ready() indica si el flujo de caracteres está listo para ser leído o no. Un InputStreamReader está listo si su búfer de entrada no está vacío o si hay bytes disponibles para leer desde el flujo de bytes subyacente.
Sintaxis:
public boolean ready() Returns : True : if the Character stream is ready to be read False : if the Character stream is not ready to be read
- close() : java.io.InputStreamReader.close() cierra InputStreamReader y libera todos los flujos asociados con él. Una vez que se ha cerrado la secuencia, las invocaciones adicionales de read(), ready(), mark(), reset() o skip() arrojarán una IOException.
Sintaxis:
public void close() Returns : No value is returned
- Implementación de los métodos ready() y close() :
Java
// Java program illustrating ready() and close() method import java.io.*; public class NewClass { public static void main(String[] args) { try { // initializing FileInputStream FileInputStream geek = new FileInputStream("ABC.txt"); // Initializing InputStreamReader object InputStreamReader in_strm = new InputStreamReader(geek); int t; while((t=in_strm.read())!= -1) { // convert the integer true to character char r = (char)t; System.out.println("Character : "+r); // check if the stream in_strm ready boolean b = in_strm.ready(); // Use of ready() methods System.out.println("Ready? : "+b); } // Use of close() method to Close InputStreamReader in_strm.close(); // Closing FileInputStream geek.close(); } catch (FileNotFoundException fnfe) { System.out.println("NO Such File Exists"); } catch (IOException except) { System.out.println("IOException occurred"); } } }
- Nota:
todos los programas de este artículo no se ejecutarán en IDE en línea ya que no existe ningún archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:
Geeks
For
Geeks
Salida:
Character : G Ready? : true Character : e Ready? : true Character : e Ready? : true Character : k Ready? : true Character : s Ready? : true Character : Ready? : true Character : Ready? : true Character : Ready? : true Character : F Ready? : true Character : o Ready? : true Character : r Ready? : true Character : Ready? : true Character : Ready? : true Character : Ready? : true Character : G Ready? : true Character : e Ready? : true Character : e Ready? : true Character : k Ready? : true Character : s Ready? : false
- getEncoding() : java.io.InputStreamReader.getEncoding() devuelve el nombre de la codificación de caracteres que utiliza este flujo.
Sintaxis:
public String getEncoding() Parameters : Returns : No value is returned
- Implementación del método getEncoding() :
Java
// Java program illustrating getEncoding() method import java.io.*; public class NewClass { public static void main(String[] args) { try { // initializing FileInputStream FileInputStream geek = new FileInputStream("ABC.txt"); // Initializing InputStreamReader object InputStreamReader in_strm = new InputStreamReader(geek); // Use of getEncoding() method // to get the character encoding present in the stream String encoding = in_strm.getEncoding(); System.out.println("Encoding used : "+encoding); // Closing InputStreamReader in_strm.close(); // Closing FileInputStream geek.close(); } catch (FileNotFoundException fnfe) { System.out.println("NO Such File Exists"); } catch (IOException except) { System.out.println("IOException occurred"); } } }
- Producción :
Encoding used : UTF8
- read() : java.io.InputStreamReader.read() Devuelve un solo carácter después de leer.
Sintaxis:
public int read() Returns : Returns single character after reading or -1 if the end of the stream has been reached
- Implementación:
Java
// Java program illustrating read() method import java.io.*; public class NewClass { public static void main(String[] args) throws FileNotFoundException, IOException { // initializing FileInputStream FileInputStream geek = new FileInputStream("ABC.txt"); // Initializing InputStreamReader object InputStreamReader in_strm = new InputStreamReader(geek); int t; String read_reslt=""; // Use of read() method while((t = in_strm.read()) != -1) { read_reslt = read_reslt+(char)t; } // print the result read from the file System.out.println(read_reslt); } }
- Nota:
el archivo ‘ABC’ contiene:
1
Geeks
2
para
3
Geeks
Salida:
1 Geeks 2 For 3 Geeks
- Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@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