IO流笔记

来源:互联网 发布:淘宝店铺装修在哪里弄 编辑:程序博客网 时间:2024/06/05 06:15

1、概念

object--->字节流基类:InputStream/OutputStream--->FileInputStream(File file)/FileOutputStream(File file)----->BufferedInputStream(InputStream in)/BufferedOutputStream(OutputStream out)

object--->字符流基类:Reader/Writer---->BufferedReader(Reader in)/BufferedWriter(Writer out)、InputStreamReader(InputStream in)/OutputStreamWriter(OutputStream out)、PrintWriter(File file)、PrintWriter(OutputStream out)、PrintWriter(Writer out)---->子类:FileReader(File file)/FileWriter(File file)

(注:FileInputStream fis = new FileInputStream("du.txt")  多态InputStream is = new FileInputStream("du.txt")  )

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("du.txt"));

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("xie.txt");

BufferedReade br = new BufferedReader(new FileReaer("du.txt"));

BufferedWriter bw = new BufferedWriter(new FileWriter("xie.txt"));

输入流(Java代码作为参照物):InputStream(字节流)、Reader(字符流)

输出流(Java代码作为参照物):InputStream(字节流)、Reader(字符流)

注意:每种基类的子类都是以父类名作为后缀名。
XxxOutputStream 
XxxInputStream

XxxReader 
XxxWriter

 2、字节流转字符流(字符流=字节流+编码表)

  BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("du.txt")));

  BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("xie.txt")));

3、InputStream常用方法:

int read():从输入流中读取数据的下一个字节。返回0255 范围内的 int 字节值,如果返回-1表示遇到流的末尾,结束。

int read(byte[] b):读入b.length个字节放到b中,并返回实际读入的字节。

int read(byte[] b,int off,int len):这个方法表示把流中的数据读到,数组b中,第off个开始的len个数组元素中。

void close():在操作完一个流后要使用此方法将其关闭, 系统就会释放与这个流相关的资源

4、OutputStream常用方法:

void write(int b):将指定的字节写入此输出流。
void write(byte[] b):将 b.length 个字节从指定的 byte 数组写入此输出流。
void write(byte[] b,int off, int len):将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
void flush():刷新此输出流,并强制写出所有缓冲的输出字节。【彻底完成输出并清空缓冲区】。

5、Reader常用方法:

intread()
          读取单个字符。intread(char[] cbuf)
将字符读入数组。abstract  intread(char[] cbuf, int off, int len)
          将字符读入数组的某一部分。

子类BufferedReader 常用方法:

StringreadLine()
          读取一个文本行。

 

6、Writer常用方法:

abstract  voidclose()
          关闭此流,但要先刷新它。abstract  voidflush()
          刷新此流。voidwrite(char[] cbuf)
          写入字符数组。abstract  voidwrite(char[] cbuf, int off, int len)
          写入字符数组的某一部分。voidwrite(int c)
          写入单个字符。voidwrite(String str)
          写入字符串。voidwrite(String str, int off, int len)
          写入字符串的某一部分。

子类PrintWriter常用方法:

voidprint(任意类型 参数) 
          打印参数voidprintln(任意类型  参数) = BufferedWrinter.writer();BufferedWrinter.newLine();BufferedWrinter.flush();
          打印 参数 

原创粉丝点击