黑马程序员技术交流社区
标题:
键盘录入的源是纯文本,怎么又是字节流呢?
[打印本页]
作者:
朝哥
时间:
2012-7-9 11:10
标题:
键盘录入的源是纯文本,怎么又是字节流呢?
本帖最后由 朝哥 于 2012-7-9 15:37 编辑
键盘录入的源是纯文本,怎么又是字节流呢?
我们通过键盘录入“中国”两个汉字的时候,他是怎么储存在内存当中的,是以4个字节存储内存的吗?但是为什么把该4字节存在到硬盘中去,又可以指定码表:如果是utf-8,那这8个字节是不是硬被拉成了可能是6个字节?
到底我们键盘录入汉字的时候在内存中时候是不是已经指定gbk码表了?(默认系统简体中文)
我再说的明白点:当我们键盘录入“中国”的时候,还没敲击回车键时,此时内存中是怎么存储“中国”的,“中国”二字此时在内存的2进制是怎么样的。肯定有个编码。
作者:
高原
时间:
2012-7-9 11:33
这是因为:
InputStream和OutputStream是在JDK1.0的时候就出现了
,
而Reader和Writer是在JDK1.1时才出现
在JDK1.0的时代,人们也得读键盘录入啊,
所以键盘录入最早用的就是InputStream,
,关于这点,你可以自己去看JDK文档
而后来出现了Reader之后,为了方便读取键盘录入,出现了将字节流转化为字符流的类:
InputstreamReader
为了提高效率,又给套上了一层缓冲流,代码如下
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
作者:
赵倩倩
时间:
2012-7-9 11:47
将键盘录入的数据保存到一个文件中的思路 因为键盘录入的是二进制的码 所以要将其转换为字节流才能使用啊
源:读取流InputStream Reader
是不是纯文本:是 Reader
设备 是键盘 对应的对象是System。in
为了操作键盘的文本数据方便,转成字符流按照字符串操作是最方便的
因为是Reader 所以将system.in转成Reader,用了Reader体系中的转换流InputStreamReader
InputStreamReader isr=new
需要提高效率?是,BufferedReader
作者:
朝哥
时间:
2012-7-9 12:09
这都可以加分?
作者:
朝哥
时间:
2012-7-9 15:37
{:soso_e179:}
作者:
朝哥
时间:
2012-7-9 19:58
{:soso_e179:}
作者:
黄丽慧
时间:
2012-7-9 20:00
本帖最后由 黄丽慧 于 2012-7-9 20:01 编辑
楼主问的这个问题,我也很好奇额,顶一下,有会的人来赶紧回答一下吧。。。。
作者:
朝哥
时间:
2012-7-10 13:40
{:soso_e179:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2