fluxo OutputStream IO de detalhes

fluxo de bytes de gravação

OutputStream classe abstrata

  • Esta classe abstrata é uma superclasse de todas as classes de fluxo de bytes de saída. Receber o fluxo de bytes de saída e emite os bytes transmitidos para um receptor.
  • Os métodos mais comuns:

>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 子 类

  • Inserido diretamente no arquivo, gravar os dados de arquivos diretamente

Criar um objeto:

  • FileOutputStream (String name)
    Cria um dados de gravação para um arquivo com o nome especificado do fluxo de arquivo de saída.
  • FileOutputStream (arquivo de Arquivo)
    para criar um arquivo para gravar o arquivo de dados representado pelo objeto File especificado no fluxo de saída.
  • FileOutputStream (arquivo de arquivo, boolean de acréscimo) - append
    para criar um arquivo é gravado no arquivo de dados representado pelo objeto arquivo especificado no fluxo de saída.

BufferedOutputStream 子 类

  • Essa classe implementa um fluxo de saída tamponada. Ao fornecer tais um fluxo de saída, o aplicativo pode escrever o respectivo fluxo de saída subjacente de bytes, os bytes são escritos em vez de para cada chamada para o sistema subjacente.

Criar objeto

  • BufferedOutputStream (OutputStream fora)
  • Criar um novo fluxo de saída em buffer para gravar dados para o fluxo de saída subjacente especificado.

fluxo de caracteres escritos

Escritor classes abstratas: Classe abstrata para fluxos de escrita de caracteres.

Os métodos mais comuns:
  • vazio write (char [] cbuf)
    escreve o array de caracteres.
  • Sumário void write (char [] cbuf
    , int fora, int len) Adicione uma porção de um conjunto de caracteres.
  • write void (int c)
    Escrever um único personagem.
  • void write (String str)
    escrever a string.
  • void write (String str, int off
    , int len) Escrever uma parte de uma string.
  • abstrato vazio close ()
    fechar o fluxo, rubor-lo primeiro.

OutputStreamWriter 子 类

OutputStreamWriter, a ponte é um carácter fluxos para fluxos de bytes: usando um conjunto de caracteres de caracteres especificado escrito para o fluxo em código de bites. Ele usa o conjunto de caracteres pode ser especificado pelo nome ou explicitamente dado, caso contrário ele irá aceitar conjunto de caracteres padrão da plataforma.

Criar um objeto:

  • OutputStreamWriter (OutputStream fora, String charsetName)
    criada usando o OutputStreamWriter conjunto de caracteres especificado.
  • OutputStreamWriter (OutputStream out)
    Cria uma codificação OutputStreamWriter caracteres padrão.
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 artigos originais · ganhou elogios 13 · vista 1065

Acho que você gosta

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