黑马程序员技术交流社区
标题:
关于IO转换流的一点小问题
[打印本页]
作者:
王溢君
时间:
2013-1-30 01:44
标题:
关于IO转换流的一点小问题
InputStream in = System.in;
InputStreamReader isr = new InputStreamReader(in);
BufferedReader bufr = new BufferedReader(isr);
复制代码
我们知道
InputStreamReader
字节流转换成字符流时,可以使用字符流的方法。。。那么。。。
OutputStream out = System.out;
OutputStreamWriter osw = new OutputStreamWriter(out);
BufferedWriter bufw = new BufferedWriter(osw);
复制代码
这个
OutputStreamWriter不是字符流通向字节流的桥梁吗?怎么还是使用的是字符流的方法?
感觉还是把字节转成字符操作?
谁来说说???字符流怎么使用字节流的方法?
作者:
王广智
时间:
2013-1-30 09:45
InputStreamReader,OutputStreamWriter,实际上是通过byte[]和String来关联
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
也是一样的道理 ,charsetName就是指编码格式
作者:
邝雄伟
时间:
2013-1-31 18:20
字节流与字符流主要的区别是他们的的处理方式一个是以流的方式输入和输出的 一个是以字节的方式输入输出字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的在从字节流转化为字符流时,实际上就是byte[]转化为String时,public String(byte bytes[], String charsetName)有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang而在字符流转化为字节流时,实际上是String转化为byte[]时,byte[] String.getBytes(String charsetName)也是一样
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2