黑马程序员技术交流社区
标题:
关于流的转换问题
[打印本页]
作者:
黎阳05
时间:
2013-5-2 15:00
标题:
关于流的转换问题
本帖最后由 黎阳05 于 2013-5-2 20:27 编辑
字符流向字节流,字节流向字符流是怎么转换的,一直没怎么搞懂,干脆都用字节流不是很方便么?
作者:
原满
时间:
2013-5-2 15:36
InputStreamReader 将字节输入流转换成字符输入流
OutputStreamWriter 将字节输出流转换成字符输出流
java没有提供将字符流转换成字节流的转换流
字节流比字符流的使用范围更广,字节流转换成字符流只是为了处理文本内容更方便, 所以没必要把字符流转换成字节流
作者:
孟群峰
时间:
2013-5-2 15:48
1,第一个问题,为什么有字符流?
字符流里面封装了字符集,可以把读取的字节自动查表转化为字符,方便字符的读写。
2,第二个问题,字节流向字符流怎么转换的?
以读取为例:字符流的底层是字节流,字符流把字节流读出的字节,通过默认或者设置的字符集,通过查表再返回,而不是字节流直接返回。
希望你懂了
作者:
Jacky_Chen1990
时间:
2013-5-2 15:54
楼上说的很对。
我补充一些知识点:
字节流 为InputStream OutputStream
字符流 为Reader Writer
举一个例子:
例如:读取文件 从字节流输入到字符流输入
定义一个字节流:
Java代码
FileInputStream fileInputStream = new FileInputStream("d:/text.txt"); // 定义一个指向D:/TEXT.TXT 的字节流
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
//字节流转换成InputStreamReader
BufferedReader bufferedReader = new BufferedReader(inputSteamReader);
//InputStreamReader 转换成带缓存的bufferedReader
可以把读出来的内容赋值给字符
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2