黑马程序员——IO流的总结与功能分析(二)

来源:互联网 发布:淘宝新品开直通车 编辑:程序博客网 时间:2024/05/22 09:02

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

一、Reader

1、FileReader:面向文件对象的输入流,读取文件中内容。 功能:读文硬盘中文件内容。

构造方法:

FileReader(File file)

FileReader(FileDescriptor fd)

FileReader(String fileName)

2、CharArrayReader:与ByteArrayInputStream类似,CharArrayReader读取缓冲区中字符数组到流。功能:读取缓冲区中的字符数组到流

构造方法:

CharArrayReader(char[] buf)

CharArrayReader(char[] buf, int offset, int length)

3、StringReader:传递字符串到流功能:传递字符串到字符流,通过read()读取出来

构造方法:

StringReader(String s)

4、PipedReader:管道流功能:一条单向通道

构造方法:

PipedReader()

PipedReader(int pipeSize)

PipedReader(PipedWriter src)
PipedReader(PipedWriter src, int pipeSize)

二、Writer

1、FileWriter:面向文件对象的输出流,保存内容到文件中。功能:保存内容到硬盘

构造方法:

FileWriter(File file)

FileWriter(File file, boolean append)

FileWriter(FileDescriptor fd)

FileWriter(String fileName)

FileWriter(String fileName, boolean append)

2、CharArrayWriter:append(char)或者write(...字符,字符数组,字符串)将字符写到缓冲区。功能:将字符写到缓冲区,可以返回字符数组、字符串,也可以writeto(其他字符流)

构造方法:

CharArrayWriter()

CharArrayWriter(int initialSize)

3、StringWriter:append(char)或者write(...字符,字符数组,字符串)将字符写到缓冲区。功能:将字符串写到缓冲区,可以返回缓冲区getbuffer()

构造方法:

StringWriter()

StringWriter(int initialSize)

4、PipedWriter:管道流

构造方法:

PipedWriter()

PipedWriter(PipedReader snk)

三、特殊流

1、RandomAccessFile:继承自Object的类,兼备读和写功能(字节输入输出流),内部封装了一个数组,具备指针。通过对指针位置的操作,实现随机访问 。功能:只能操作文件;可以读写基本数据类型,也能readLine();

构造方法:

RandomAccessFile(File file,String mode)mode:"r" "rw"  "rws"  "rwd"

RandomAccessFile(String name,String mode)

2、PrintOutputStream和PrintWriter:打印流功能:调用print和println方法可以节制输出基本数据类型和Object,后者更是可以实现行结束标记功能

构造方法:

(省略......)

输出到文件或者输出流

3、BufferedInputStream、BufferedOutputStream 、BuffeedReader 、BufferedWriter 功能:添加缓冲区,加快流的处理速度。

构造方法:

(省略......)

4、InputStreamReader、OutputStreamWriter功能:字符转化流,实现字节流到字符流的转化

构造方法:

(省略.....)

四、注意点

1、对于直接写入基本数据类型的方法,可以避免int以字符形式写入时产生的数据丢失。

2、readLine(),读取后不写入行结束标记。

3、字节数组流、字符数组流、

4、对象流,对于调用的对象class要实现serializable序列化,可以自定义序列化的public static final long serialVersionUID = 42L;不能对static变量方法序列化,或者transient修饰。

5、流的数据源:键盘、硬盘、内存(数组)

   流的数据目的:控制台、硬盘、内存(数组)


----------------------ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

0 0
原创粉丝点击