请教,关于IO的FileInputStream的疑惑?谢谢。 文件存储时每个字符是2个字节要看文件时用什么编码保存的,gbk,utf-8英文是一个字节保存的,unicode都是两个字节。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是文件存储时每个字符是2个字节,如果是读英文字母,高8位肯定是全0,----错误!这个是需要根据文件格式决定的。如果文件格式是GBK(中文系统的默认格式)中文占用2个字符,英文只占用1个,如果是UTF-8,中文占用3个,英文占用1个,如果是Unicode则都占用2个你可以使用UltraEdit中的十六进制模式看看你的文件。所以根本不存在丢失的问题 2楼所言,理解。通过十六进制查看,确实一个英文是一个字节表示。但是我还使用FileReader字符流。它是一次读取一个字符(2个字节)。循环read后,读中文时,是读2个字节,读取中文正常。但是读取英文,如果再读2个字节肯定又不对了?难道读英文又成了读1个字节吗。有些不解? FileReader读取时,读取字符,并不局限在2个字节。根据字符读取,可能是1个字节或者两个字节。 为什么不能直接new HashMap<key, value>().put(key, value)??? 最近想学j2ee了,谁能给推荐本书呀? 收集java程序员所看的杂自,请java程序员把自己所看的杂自名列出来 初学者的问题!关于布局管理器的!java就那几个管理器吗? 请教高手关于包的问题 大放分(1)给点建议 如在TOMCAT中增加一个新的站点??急 谁能帮我反编译?急 考过了SCJP,散分喽!UP有分! java能不能模拟键盘输入? 如何在一个类中调用另外一个类中的方法。急等 问一个倒两个
错误!这个是需要根据文件格式决定的。如果文件格式是GBK(中文系统的默认格式)中文占用2个字符,英文只占用1个,如果是UTF-8,中文占用3个,英文占用1个,如果是Unicode则都占用2个你可以使用UltraEdit中的十六进制模式看看你的文件。
所以根本不存在丢失的问题