32、java的字节流和字符流

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18077275/article/details/89786678

1、字节流和字符流

java.io包提供了大量的流类,Java把InputStream抽象类的子类创建的流对象称作字节输入流、OutputStream抽象类的子类创建的流对象称作字节输出流,Java把Reader抽象类的子类创建的流对象称作字符输入流、Writer抽象类的子类创建的流对象称作字符输出流。
   针对不同的源或目的地,java.io包为程序提供了相应的输入流或输出流,这些输入、输出流绝大部分都是InputStream、OutputStream、Reader或Writer的子类。

2、InputStream类与OutputStream类

InputStream类提供的read方法以字节为单位顺序地读取源中的数据,只要不关闭流,每次调用read方法就顺序地读取源中的其余内容,直到源的末尾或输入流被关闭。
InputStream类有如下常用的方法。
    int read() 
    int read(byte b[ ]) 
    int read(byte b[ ], int off, int len)
    void close()
    long skip(long numBytes) 
OutputStream流以字节为单位顺序地写文件,只要不关闭流,每次调用write方法就顺序地向目的地写入内容,直到流被关闭。
OutputStream类有如下的常用的方法。
      void write(int n)
       void write(byte b[ ])
       void write(byte b[ ], int off, int len)
       void close()
 

3、Reader类与Writer类

1).Reader类提供的read方法以字符为单位顺序地读取源中的数据。
   int read():
   int read(char b[]):
   int read(char b[], int off, int len):
   void close():
   long skip(long numBytes):
2). Writer流以字符为单位顺序地写文件,每次调用write方法就顺序地向目的地写入内容。 Writer类有如下常用的方法。
    void write(int n):  向输出流写入一个字符。
    void write(char b[]):  向输出流写入一个字符数组。
    void write(char b[],int off,int length):  从给定字符数组中起始于偏移量off处取len个字符写到输出流。
    void close():  关闭输出流。
 
4、关闭流

流都提供了关闭方法close(),尽管程序结束时会自动关闭所有打开的流,但是当程序使用完流后,显式地关闭任何打开的流仍是一个良好的习惯。
通过调用close()方法,可以保证操作系统把流缓冲区的内容写到它的目的地,即关闭输出流可以把该流所用的缓冲区的内容冲洗掉。   
 

 

猜你喜欢

转载自blog.csdn.net/qq_18077275/article/details/89786678