flujo de caracteres Uso de Java

flujo de caracteres de entrada de

clase de lector es la clase padre de todos los caracteres de la clase corriente de entrada que define una serie de métodos que son válidos para todas las subclases.

Lector de subclases de la clase común de la siguiente manera.

	CharArrayReader 类:将字符数组转换为字符输入流,从中读取字符。
	
	StringReader 类:将字符串转换为字符输入流,从中读取字符。
	
	BufferedReader 类:为其他字符输入流提供读缓冲区。
	
	PipedReader 类:连接到一个 PipedWriter。
	
	InputStreamReader 类:将字节输入流转换为字符输入流,可以指定字符编码。

clase InputStream la misma, también se incluye en el método de la clase de lectores close (), marca (), saltar () y reset () y similares, puede referirse a la clase de estos métodos InputStream.

la clase de lectura del lector método ()

nombre del método y tipo de valor de retorno explicación
int read () Lee un carácter del flujo de entrada y lo convierte en un número entero de 0 a 65535. Volver -1 indica que se ha llegado al final de la corriente de entrada. Con el fin de mejorar la eficiencia de las operaciones de E / S, se recomienda hacer uso de dos método read ()
int lectura (char [] cbuf) Una pluralidad de caracteres leídos de la corriente de entrada, y guardarlos en el array de caracteres parámetro cbuf especificado. Los devuelve el método el número de caracteres leídos, retorno -1 indica el final de la secuencia de entrada ha alcanzado el
int leer (char [] cbuf, int off, int len) Una pluralidad de caracteres leídos de la corriente de entrada, y guardarlos en el array de caracteres parámetro cbuf especificado. En donde, fuera especificar un índice a partir inicia guardar datos en una matriz de caracteres, Len especificar el número de caracteres leídos. Los devuelve el método el número de caracteres en realidad leidos, devolverá -1, entonces la entrada ha llegado al final de la corriente de

flujo de caracteres-salida

En contraste con la clase de lectores, clase de escritor es la clase padre de todos los caracteres en la secuencia de salida , la clase tiene muchos métodos que todas las subclases heredan esta clase son válidos.

subclases de la clase común escritor de la siguiente manera.

	CharArrayWriter 类:向内存缓冲区的字符数组写数据。
	
	StringWriter 类:向内存缓冲区的字符串(StringBuffer)写数据。
	
	BufferedWriter 类:为其他字符输出流提供写缓冲区。
	
	PipedWriter 类:连接到一个 PipedReader。
	
	OutputStreamReader 类:将字节输出流转换为字符输出流,可以指定字符编码。

OutputStream clase Same, clase Writer también contiene close (), método flush () y similares, que puede referirse a un método de OutputStream.

escritura de clase escritor () método y método append ()

nombre del método y tipo de valor de retorno explicación
vacío de escritura (int c) Escribir un carácter a la corriente de salida
escritura nula (char [] cbuf) Todos los personajes de la serie de parámetros cbuf carácter especificado escriben en el flujo de salida
escritura nula (char [] cbuf, int off, int len) El parámetro cbuf array de caracteres especificado varios personajes escriben en el flujo de salida. En el que la matriz de caracteres especificada fuera el índice inicial, Len indica el número de elementos
vacío de escritura (String str) Escribir una cadena a la corriente de salida,
escritura nula (String str, int off, int len) Escritura de una porción de la cadena de caracteres en la secuencia de salida. En el que el desplazamiento inicial fuera de la serie especificada, len indica el número de caracteres
append (char c) Agregue el parámetro C se especifica el carácter de la secuencia de salida
append (CharSequence esq) secuencia de caracteres parámetros esq add especificado en la secuencia de salida
append (CharSequence esq, int inicio, int final) Añadir la secuencia de caracteres especificado de parámetros de secuencia esq la secuencia de salida. En la que el índice del primer carácter del inicio subsecuencia, índice subsecuencia final del último carácter tras carácter, es decir, el contenido de la subsecuencia comprende un índice carácter de inicio, pero el índice del carácter final no está incluido

prestar atención: Clase escritor hasta el final en el caso de error conducirá a una IOException. Después de cerrar un flujo, a continuación, ninguna otra acción producirá un error.

archivo de flujo de entrada de caracteres

Con el fin de facilitar la lectura, Java proporciona una clase --FileReader conveniente para la lectura de archivos de carácter. Existen sigue a dos sobrecargas constructor de la clase.

	FileReader(File file):在给定要读取数据的文件的情况下创建一个新的 FileReader 对象。其中,file 表示要从中读取数据的文件。
	
	FileReader(String fileName):在给定从中读取数据的文件名的情况下创建一个新 FileReader 对象。其中,fileName 表示要从中读取数据的文件的名称,表示的是一个文件的完整路径。

Al crear un objeto mediante la lectura de la clase constructor FileReader, la codificación de caracteres y el byte-buffer de tamaño por defecto son establecidos por el sistema. Para especificar estos valores usted mismo, puede construir un InputStreamReader en FilelnputStream.

prestar atención: Cuando se crea un objeto FileReader puede causar una excepción FileNotFoundException, por lo que la necesidad de instrucción catch utilización tratar de atrapar la excepción.

El procedimiento es flujo de caracteres idénticos y byte corriente, o la corriente es primera entrada para crear un objeto de flujo de salida, es decir, un tubo de conexión, el establecimiento de una operación de lectura o escritura es completa, y finalmente se cierra los canales de flujo de entrada / salida.

El D: \ archivo de contenido MYJAVA \ HelloJava.java se lee y salida en la consola, utilizando el código que implementa la clase FileReader sigue:

public class Test {
    public static void main(String[] args) {
        FileReader fr = null;
        try {
            fr = new FileReader("D:/myJava/HelloJava.java"); // 创建FileReader对象
            int i = 0;
            System.out.println("D:\\myJava\\HelloJava.java文件内容如下:");
            while ((i = fr.read()) != -1) { // 循环读取
                System.out.print((char) i); // 将读取的内容强制转换为char类型
            }
        } catch (Exception e) {
            System.out.print(e);
        } finally {
            try {
                fr.close(); // 关闭对象
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

A medida que el código anterior, primero crear una entrada de caracteres objeto de secuencia FileReader fr, el punto objeto D: archivo \ MYJAVA \ HelloJava.java, un valor de retorno y luego definir la variable i método read (), es decir, la llamada recibida carácter de lectura. En el bucle while, lee un carácter asignado a variables enteras i, se sale del bucle leer hasta el final del archivo (la corriente de entrada cuando se lee el final del archivo, se devuelve un valor de -1).

flujo de salida de archivo de carácter

Java proporciona una clase --FileWriter escribir convenientes archivos de caracteres, el constructor de la clase tiene las siguientes cuatro sobrecargas.

	FileWriter(File file):在指定 File 对象的情况下构造一个 FileWriter 对象。其中,file 表示要写入数据的 File 对象。
	
	FileWriter(File file,boolean append):在指定 File 对象的情况下构造一个 FileWriter 对象,如果 append 的值为 true,则将字节写入文件末尾,而不是写入文件开始处。
	
	FileWriter(String fileName):在指定文件名的情况下构造一个 FileWriter 对象。其中,fileName 表示要写入字符的文件名,表示的是完整路径。
	
	FileWriter(String fileName,boolean append):在指定文件名以及要写入文件的位置的情况下构造 FileWriter 对象。其中,append 是一个 boolean 值,如果为 true,则将数据写入文件末尾,而不是文件开始处。

Cuando se crea un objeto FileWriter, la codificación de caracteres por defecto y el tamaño de memoria intermedia de bytes por defecto son establecidos por el sistema. Para especificar estos valores usted mismo, usted puede construir un objeto OutputStreamWriter en el FileOutputStream.

Crear una clase FileWriter no depende de la presencia o ausencia de un archivo, si no existe el archivo asociado, se generará automáticamente un nuevo archivo. Antes de crear un archivo, FileWriter se abrirá como una salida cuando se crea el objeto. Si intenta abrir un archivo de sólo lectura, una IOException es lanzada.

prestar atención: Cuando se crea un objeto FileWriter puede causar IOException SecurityException o anormal, por lo que la necesidad de instrucción catch utilización tratar de atrapar la excepción.

Guardar al usuario que introduzca una cadena de cuatro D: \ MYJAVA \ book.txt archivo. Se usa aquí la clase de escritura FileWriter () bucles método para escribir datos en el archivo especificado, los códigos son los siguientes:

public class Test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        FileWriter fw = null;
        try {
            fw = new FileWriter("D:\\myJava\\book.txt"); // 创建FileWriter对象
            for (int i = 0; i < 4; i++) {
                System.out.println("请输入第" + (i + 1) + "个字符串:");
                String name = input.next(); // 读取输入的名称
                fw.write(name + "\r\n"); // 循环写入文件
            }
            System.out.println("录入完成!");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
            try {
                fw.close(); // 关闭对象
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

Como se describió anteriormente el código primero crea un punto D: \ MYJAVA archivo de carácter \ book.txt salida de archivo de FW objeto de secuencia, y luego utilizar la entrada para cuatro lazos de cuerda y las llamadas de escritura () método escribe la cadena de caracteres a un determinado archivo. Por último, cierre el archivo de carácter finalmente flujo de salida comunicado.

Ejecutar el programa, de acuerdo a las indicaciones cuatro cuerdas, como se muestra a continuación. A continuación, abra la carpeta D: \ MYJAVA \ book.txt archivo, podrás ver el contenido escrito.

请输入第1个字符串:
热点要闻
请输入第2个字符串:
个性推荐
请输入第3个字符串:
热搜新闻词
请输入第4个字符串:
本地看点
录入完成!

flujo de entrada búfer de caracteres

BufferedReader flujo de entrada principales para contribuir otros caracteres, es con un tampón, puede primer lote de datos en buffers de memoria . La siguiente operación de lectura puede obtener datos directamente desde la memoria intermedia, cada momento sin la necesidad de leer los datos de una fuente de datos y codificación de caracteres de conversión de modo que pueda mejorar la eficiencia de la lectura de datos.

BufferedReader sobrecargas constructor de la clase los dos siguientes.

	BufferedReader(Reader in):创建一个 BufferedReader 来修饰参数 in 指定的字符输入流。
	
	BufferedReader(Reader in,int size):创建一个 BufferedReader 来修饰参数 in 指定的字符输入流,参数 size 则用于指定缓冲区的大小,单位为字符。

Además de proporcionar el tampón es distinto de un flujo de entrada de caracteres, el BufferedReader también proporciona los readLine () devuelve el método una cadena que contiene el contenido de la línea, pero no contiene ningún terminador de cadena, si el extremo de la corriente es nula. el método readLine () de cada línea de texto representa la lectura de contenidos, cuando el avance de línea cara (\ n-), Enter (\ R & lt) directamente seguido por un retorno de carro o línea se puede considerar una línea de marcador se termina.

clase BufferedReader utilizando el método readLine () leer fila por fila D: \ contenido del archivo MYJAVA \ Book.txt, y lectura de contenido en la copia impresa de la consola, de la siguiente manera:

public class Test {
    public static void main(String[] args) {
        FileReader fr = null;
        BufferedReader br = null;
        try {
            fr = new FileReader("D:\\myJava\\book.txt"); // 创建 FileReader 对象
            br = new BufferedReader(fr); // 创建 BufferedReader 对象
            System.out.println("D:\\myJava\\book.txt 文件中的内容如下:");
            String strLine = "";
            while ((strLine = br.readLine()) != null) { // 循环读取每行数据
                System.out.println(strLine);
            }
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fr.close(); // 关闭 FileReader 对象
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

A medida que el código anterior, se crearon por primera vez el nombre para el objeto y el nombre de la fr es FileReader objetos br BufferedReader, y luego llamar objeto readLine BufferedReader (el contenido del archivo leído por el método de línea de la línea). Si el contenido de la lectura de archivos es nulo, es decir, hasta el final de los espectáculos de archivos que se han leído, a continuación, salir del bucle ya no operación de lectura. Por último, la corriente de entrada de archivo de caracteres y el carácter tamponada flujo de entrada está cerrada.

Ejecutar el programa, los resultados de salida son los siguientes:

D:\myJava\book.txt 文件中的内容如下:
热点要闻
个性推荐
热搜新闻词
本地看点

flujo de salida de búfer de caracteres

clase BufferedWriter utiliza principalmente para ayudar a flujo de salida de otros caracteres, con el mismo tampón, el primer lote de datos puede ser escrita a la memoria intermedia, cuando la memoria intermedia está llena, a continuación, se escriben datos en el flujo de salida carácter desechable buffer, su objetivo es mejorar la eficiencia de la escritura de datos.

BufferedWriter constructor de la clase sobrecarga los dos siguientes.

	BufferedWriter(Writer out):创建一个 BufferedWriter 来修饰参数 out 指定的字符输出流。
	
	BufferedWriter(Writer out,int size):创建一个 BufferedWriter 来修饰参数 out 指定的字符输出流,参数 size 则用于指定缓冲区的大小,单位为字符。

un tampón tal puede proporcionarse además de la corriente de caracteres de salida, sino que también proporciona un nuevo método nuevaLinea (), el método para escribir un separador de línea. cadena de separación de línea se define por la propiedad del sistema line.separator, y no necesariamente un personaje de una sola fila (\ n).

Publicados 457 artículos originales · ganado elogios 94 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_45743799/article/details/104711081
Recomendado
Clasificación