黑马程序员技术交流社区
标题:
java字符流和字节流
[打印本页]
作者:
GoldMan
时间:
2015-6-16 22:19
标题:
java字符流和字节流
一:字符流
Reader和Writer(基类)
FileReader和FileWriter(定义字符输入、输出流)
BufferedReader和BufferedWriter(字符带缓冲输入、输出流)
LineNumberReader
二:字符流拷贝文件,4中方式
1.FileReader和FileWriter逐个字符拷贝
2.FileReader和FileWriter自定义数组拷贝
3.BufferedReader和BufferedWriter内置缓冲区逐个字符拷贝
4.BufferedReader和BufferedWriter逐行拷贝
三:字节流
OutputStream和InputStream(基类)
FileOutputStream和FileInputStream(字节带缓冲输入、输出流)
BufferedInputStream和BufferedOutputStream(字节缓冲输入、输出流)
四:字符流拷贝文件,3种方式
1.FileInputStream和FileOutputStream, 逐个字节拷贝
2.FileInputStream和FileOutputStream, 自定义数组拷贝
3.BufferedInputStream和BufferedOutputStream, 内置缓冲区拷贝
五:什么时候使用字符流,字节流
当读取和写出一个字符串,使用字符流
当拷贝一个字符串,使用字节流
在我们读写任何数据的时候, 都能用字节流来做. 但是如果需要读写字符的时候, 使用字节流的话, 需要人工解码编码.
当我们读写字符的时候, 使用字符流更为方便, 它可以替我们自动解码编码.
当我们得到一个字节流, 需要向这个字节流中读写字符数据, 可以使用转换流将字节流转为字符流.
六:转换流
1.InputStreamReader, OutputStreamWriter
2.字节流和字符流之间的桥梁, 可以从字节流中读取字符, 可以向字节流中写出字符
七:什么时候用转换流和编码
1.当我们得到一个字节输入流, 想从中读取字符的时候, 就可以使用InputStreamReader.
2.当我们得到一个字节输出流, 想向其写出字符的时候, 就可以使用OutputStreamWriter.
3.当我们读取非平台默认编码的字符数据时, 需要使用InputStreamReader.
4.当我们写出非平台默认编码的字符数据时, 需要使用OutputStreamWriter.
八.标准输入、输出流
1.标准输入流
System.in是标准输入流, 默认可以从键盘输入读取字节数据.
可以使用System.setIn(InputStream)修改数据源.
2.标准输出流
System.out是标准输出流, 默认可以向屏幕输出数据
可以使用System.setOut(PrintStream)修改数据目的地.
3.可以使用标准输入输出流拷贝文件
练习:1.加密
九.字节流和字符流的三种读取方式
字节流读取方式:
//第一种,是一个字节、一个字节的的读,然后读到内存中, 然后一个一个的写出,速度最慢
//第二种,是一个字节、一个字节 的读,读到数组中,读满后,一块写出,速度最快(每次读到程序中一个数组, 写出去一个数组)
//第三种,是一个字节、一个字节的读,先读到内置的缓冲去中,然后一个一个的写出,速度很快(第一次读的时候读8192个, 每次read()和write()方法时从缓冲区中读到1个写再写到缓冲区中1个)
字符流的读写方式
基本和字节流一样,但它读写的是字符
作者:
SHISY
时间:
2015-6-16 22:37
谢谢分享,好详细
作者:
zhenxing133
时间:
2015-6-16 22:55
很喜欢总结性的东西,学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2