OutputStream IO corriente de Detallado

flujo de bytes de escritura

OutputStream clase abstracta

  • Esta clase abstracta es una superclase de todas las clases del flujo de bytes de salida. Recibir el flujo de bytes de salida y da salida a los bytes transmitidos a un receptor.
  • Los métodos más comunes:

>void close() 
>           关闭此输出流并释放与此流有关的所有系统资源。 
> 
>void flush() 
>           刷新此输出流并强制写出所有缓冲的输出字节。 
> 
>void write(byte[] b) 
>           将 b.length 个字节从指定的 byte 数组写入此输出流。 
>           
>void write(byte[] b, int off, int len) 
>           将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。 
> 
> abstract  void write(int b) 
>           将指定的字节写入此输出流。

FileOutputStream 子 类

  • Directamente insertado en el archivo, escribir los datos de archivo directamente

Crear un objeto:

  • FileOutputStream (String name)
    Crea una escritura de datos en un archivo con el nombre especificado de la corriente del archivo de salida.
  • FileOutputStream (Archivo)
    para crear un archivo para escribir el archivo de datos representado por el objeto del archivo especificado en la secuencia de salida.
  • FileOutputStream (Archivo, append booleano) - append
    para crear un archivo se escribe en el archivo de datos representado por el objeto de archivo especificado en la secuencia de salida.

BufferedOutputStream 子 类

  • Esta clase implementa un flujo de salida con buffer. Al proporcionar un flujo de salida de tal, la aplicación puede escribir la secuencia de salida subyacente respectivo de bytes, éstos se escriben en lugar de para cada llamada al sistema subyacente.

crear objeto

  • BufferedOutputStream (OutputStream a cabo)
  • Crear un nuevo flujo de salida con buffer de datos de escritura al flujo de salida subyacente especificado.

flujo de caracteres escrita

Escritor clases abstractas: Clase abstracta para los flujos de escritura de caracteres.

Los métodos más comunes:
  • vacío de escritura (char [] cbuf)
    escribe la matriz de caracteres.
  • abstracta de escritura vacío (char [] cbuf
    , int off, int len) Escribir una parte de un conjunto de caracteres.
  • escritura vacío (int c)
    Escribir un solo carácter.
  • escritura nula (String str)
    escribir la cadena.
  • escritura nula (String str, int off
    , int len) Escribir una porción de una cadena.
  • abstract void close ()
    Cierra la corriente, rubor en primer lugar.

OutputStreamWriter 子 类

OutputStreamWriter, el puente es un personaje flujos de flujos de bytes: el uso de un carácter conjunto de caracteres especificado por escrito a la corriente en código de bytes. Se utiliza el conjunto de caracteres puede especificarse por su nombre o explícitamente dado, de lo contrario, aceptar el conjunto de caracteres por defecto de la plataforma.

Crear un objeto:

  • OutputStreamWriter (OutputStream a cabo, Cadena charsetName)
    ha creado usando el OutputStreamWriter conjunto de caracteres especificado.
  • OutputStreamWriter (OutputStream a cabo)
    crea un personaje de codificación por defecto OutputStreamWriter.
public class rr {
       public static void main(String[] args) throws Exception {
//           method1();//字节写出
              method2();//字符写出
       } 
       private static void method2() throws Exception {
              Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("D:\\\\teach\\\\a.txt"))                                                                                                                                                                                            , "utf-8"));
              long s = System.currentTimeMillis();
              for(int i = 48 ; i < 1000000; i++) {
                     out.write(i);
              }
              s = System.currentTimeMillis() - s;
              System.out.println(s + "--");//266               
              out.close();
       } 
       private static void method1() throws Exception {
              long s = System.currentTimeMillis();
              OutputStream out = new FileOutputStream(new File("D:\\teach\\a.txt"));
              for(int i = 48 ; i < 1000000; i++) {
                     out.write(i);
              }
              s = System.currentTimeMillis() - s;
              System.out.println(s + "--");//3484               
              long ss = System.currentTimeMillis();
              OutputStream out2 = new BufferedOutputStream(new FileOutputStream(new File("D:\\teach\\a2.txt")));
              for(int i = 48 ; i < 1000000; i++) {
                     out2.write(i);
              }
              ss = System.currentTimeMillis() - ss;
              System.out.println(ss + "==");//54               
              out.close();
              out2.close();
       }
}
Publicado 36 artículos originales · alabanza ganado 13 · vistas 1065

Supongo que te gusta

Origin blog.csdn.net/weixin_44598691/article/details/104775408
Recomendado
Clasificación