El propósito de establecer un búfer es aumentar el rendimiento de la transmisión y hacernos transmitir datos más rápido.
El búfer es realmente muy simple. Encapsula una matriz internamente y utiliza una matriz para almacenar datos para proporcionar algunos métodos para acceder a la matriz.
El funcionamiento de estos métodos es punteros a la matriz (marcadores de ángulo).
El principio del búfer: obtenga un lote de datos de la fuente al búfer, luego sácalo uno por uno del búfer y use -1 como la marca final.
En BufferedReader, tenemos métodos Read () y Readline () para leer datos.
read () tiene parámetros char [], cbuf, int off, int len. Su valor de devolución es -1
El método Readline () es tomar el interior de la línea por línea como un contenedor de cadena StringBuffder cuyo valor de retorno es nulo;
Primero, defina una clase para definir dos métodos para leer datos en la clase myReader () y myReadline ();
clase pública myBufferedReader {privado FileReader FR; private char [] buff = new Char [1024]; privado int zz = 0; private int count = 0; MybufferedReader (FileReader fr) {this.fr = fr; } public int myRead () lanza ioexception {if (count == 0) {count = fr.read (buff); zz = 0; } if (count <0) return -1; char ch = buff [zz ++]; contar--; regresar ch; } public String myReadline () lanza ioException {StringBuilder stb = new StringBuilder (); int ch = 0; while ((ch = myRead ())! =-1) {if (ch == '/r') continuar; if (ch == '/n') return stb.ToString (); stb.append ((char) ch); } if (stb.length ()! = 0) return stb.ToString (); regresar nulo; } public void myClose () lanza ioexception {fr.close (); }}En él, defino un puntero ZZ y un contador de búfer para registrar los cambios en los datos de lectura en el búfer
Cuando cuente == 0, lea los datos en el búfer zz 0. Lea desde el primer número
Cuando los datos son inferiores a 0, devuelve -1 después de leer.
Cree un contenedor de cadena StringBuilder en myReadline () para almacenar datos. Cuando stb ==/n, se lee una línea y su valor de retorno es nulo;
El ejemplo anterior de BufferedReader personalizado es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.