(1)Java输入输出流
Java的输入输出通过流的形式来体现,流的分类主要有输入流和输出流两种。输入流主要有InputStream和Reader作为基类,输出流主要有OutputStream和Writer作为基类。
(2)字节流和字符流
字节流:(不通过缓冲直接读出或写入)
从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。
InputStream、OutputStream
◇ FileInputStream、FileOutputStream
◇ PipedInputStream、PipedOutputStream
◇ ByteArrayInputStream、ByteArrayOutputStream
◇ FilterInputStream、FilterOutputStream
◇ DataInputStream、DataOutputStream
◇ BufferedInputStream、BufferedOutputStream
字符流:(通过缓冲来I/O)
从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位
Reader、Writer
◇ InputStreamReader、OutputStreamWriter
◇ FileReader、FileWriter
◇ CharArrayReader、CharArrayWriter
◇ PipedReader、PipedWriter
◇ FilterReader、FilterWriter
◇ BufferedReader、BufferedWriter
◇ StringReader、StringWriter
字节流的方法:
InputStream 和OutputStream
read():从流中读入数据
skip():跳过流中若干字节数
available():返回流中可用字节数
mark():在流中标记一个位置
reset():返回标记过得位置
markSupport():是否支持标记和复位操作
close():关闭流
字符流的方法:
Reader类
• void close()
• void mark(int readAheadLimit)
• boolean markSupported() :
• int read()
• int read(char[] cbuf)
• int read(char[] cbuf, int off, int len)
• boolean ready()
• void reset()
• long skip(long n)
Writer类
• void close()
• void flush()
• void write(char[] cbuf)
• void write(char[] cbuf, int off, int len)
• void write(int c)
• void write(String str)
• void write(String str, int off, int len)