Java 输入输出 的 基本原理及示例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
来自:
亿淘城_减肥榜的个人笔记
xx你的支持(*^__^*)嘻嘻……
Java I/O原理
→基本概念:
I/O(Input/Output)
数据源(Data Source)
数据xx(Data Sink)
→Java中把不同的数据源与程序间的数据传输都抽象表述为“流”(Stream),java.io包中定义了多种I/O流类型实现数据I/O功能。
→I/O流分类:
输入流(Input Stream)和输出流(Output Stream)
节点流(Node Stream)和处理流(Processing Stream)
字符流(Character Stream)和字节流(Byte Stream)
#输入流(Input Stream)和输出流(Output Stream)
1.输入流只能从中读取数据,而不能向其写数据;
2.输出流则只能向其写出数据,而不能从中读取数据;
3.特例:
java.io.RandomAccessFile类。
#节点流(Node Stream)和处理流(Processing Stream)
1.节点流直接连接到数据源
2.处理流是对一个已存在的流的连接和封装,通过所封装的刘的功能
调用实现增强的数据读写功能,处理流并不直接连到数据源#字符流(Character Stream)和字节流(Byte Stream)
1.字节流以字节为单位进行数据传输,每次传送一个或多个字节。
2.字符流以字符为单位进行数据传输,每次传送一个或多个字符。
※Java命名惯例:
凡是以InputStream 或OutputStream结尾的类型均为字节流,凡是以Reader或Writer 结尾的均为字符流。
InputStream
抽象类java.io.InputStream 是所有字节输入流类型的父类,该类中定义了以字节为单位读取数据的基本方法,并在其子类中进行了分化和实现。
◆三个基本的read方法:
Int read()
Int read(byte[] buffer)
Int read(byte[] buffer,int offset,int length)
◆其它方法:
Void close()
Int available()
Skip(long n)
Boolean markSupported()
Void mark(int readlimit)
Void reset()
FileInputStream
ObjectInputStream
PipedInputStream
SequenceInputStream
InputStream DataInputStream
PushbackInputStream BufferedInputStream LineNumberInputStream FilterInputStream
StringBufferInputStream
ByteArrayInputStream
OnputStream
Java.io.OutputStream 与java.io.InputStream对应,是所有字节输出流类型的抽象父类。
◆三个基本的write方法:
Int write ()
Int write (byte[] buffer)
Int write (byte[] buffer,int offset,int length)
◆其它方法:
Void close()
Void flush()
FileOutputStream
ObjectOutputStream
OutputStream PipedOutputStream DataOutputStream
FilterOutputStream PrintStream
ByteArrayOutputStream
BufferedOutputStream Reader
抽象类java.io.Reader是所有字符输入流类型的父类,其中声明了用于读取字符流的有关方法。
◆三个基本的read方法:
Int read()
Int read(byte[] buffer)
Int read(byte[] buffer,int offset,int length)◆其它方法:
Void close()
Int available()
Skip(long n)
Boolean markSupported()
Void mark(int readlimit)
Void reset()
Writer
抽象类java.io.Writer是所有字符输出流类型的父类。
◆五个基本的write方法:
Void write (int c)
Void write (char[] buffer)
Void write (char[] buffer,int offset,int length)
Void write(String string)
Void write(String stirng ,int offset,int length)
◆其它方法:
Void close()
Void flush()
常用的I/O流类型
(1)
FileInputSteam/FileOutputSteam
FileInputStream用于读取本地文件中字节数据。
FileOutputStream用于将字节数据写出到文件。
FileReader/FileWriter
FileReader用于以字符为单位读取文本文件。
FileWriter用于将字符数据写出到文本文件中。
BufferedReader/BufferedWriter
BufferedReader用于缓冲读取字符。
BufferedWriter则提供字符的缓冲写出功能。
常用的I/O流类型
(2)
InputStreamReader
1.InputStreamReader可封装字节输入流并从中读取字节数据,然后将之转换为字符。
2.转换时所使用的字符编码可以再构造方法中显示指定,也可以使用平台的默认字符编码。其构造方法格式为: