本帖最后由 伍碧林 于 2011-10-12 08:33 编辑
确实很容易混,多敲几次代码可能会好些。下面是我写的笔记,希望对你会有点帮助{:soso_e100:}
①FileInputStream和FileOutputStream常用方法:
public int read()
public int read(byte[] b)
public int read(byte[] b, int off, int len)
new FileOutputStream(File file, boolean append),是否追加,其中/r/n是换行
public void write(byte[] b)
public void write(byte[] b, int off, int len)
②BufferedInputStream和BufferedOutputStream:
BufferedInputStream是InputStream->FilterInputStream的子类
BufferedOutputStream是OutputStream->FilterOutputStream的子类
实际最后实现的InputStream和OutputStream实例,多了一个buf数据成员,减少硬盘存取次数.提高效率.为了缓冲区数据一定被写至目的地,建议最后执行flush();
③DataInputStream和DataOutputStream:
DataInputStream是InputStream->FilterInputStream的子类
DataOutputStream是OutputStream->FilterOutputStream的子类
对java基本数据类型写入的方法,像int、double和boolean等的方法
④ObjectInputStream和ObjectOutputStream:
直接将内存中整个对象存储至文件,
⑤: SequenceInputStream:
文件分割合并上好用
⑥: PrintStream
打印流,是OutputStream->FilterOutputStream的子类,可以自动进行字符转换的动作,默认会使用操作系统的编码来处理对应的字符转换动作,使用打印流输入最为方便,建议以后在输出的时候就使用打印流,jdk 1.5之后对print()方法更新,加入了格式化操作printf(),和C语言一样好像过时了.一般用PrintWrite
⑦ByteArrayInputStream和ByteArrayOutputStream:
内存流, 流的来源或目的不是文件是内存空间
⑧PushbackInputStream:
没有实际应用过
⑨PipedInputStream:管道流
① InputStreamReader和OutputStreamWriter
对InputStream和OutputStream进行字符处理,字符和字节流之间的转换
②FileReader和FileWriter
FileReader是Reader->InputStreamReader的子类
FileWriter是Writer ->OutputStreamWriter-的子类
FileInputStream 类以二进制输入 / 输出, I/O 速度快且效率高,但是它的 read ()方法读到的是一个字节,很不利于人们阅读。 而 FileReader 类弥补了这个缺陷,可以以文本格式输入/ 输出,非常方便;比如可以使用 while((ch = filereader.read())!=-1 ) 循环来读取文件;
③BufferedReader和BufferedWriter
④PrintWriter
同样是打印流,同PrintStream不同的是PrintWriter还可以接受Writer对象作为输出的对象
⑤CharArrayReader和CharArrayWriter
⑥PushbackReader
|