请教,关于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个字节或者两个字节。 错在哪呢? 一个关于调用的问题 急,文档相似度计算,调试出错“ClassNotFoundException” [求助]如何清空StringBuffer? 是继承类在内存中的加载形式还是多态问题引起的超类this变为子类对象? 请好心人看看这个Annotation的问题 请问applet载入错误后的工作。。 录入的字符串包含'这样的字符,拼装的sql也用到',提交失败。 请教!为什么在别的机上运行不能显示中文 applet安全问题? 如何在一个类中调用另外一个类中的方法。急等 问一个倒两个
错误!这个是需要根据文件格式决定的。如果文件格式是GBK(中文系统的默认格式)中文占用2个字符,英文只占用1个,如果是UTF-8,中文占用3个,英文占用1个,如果是Unicode则都占用2个你可以使用UltraEdit中的十六进制模式看看你的文件。
所以根本不存在丢失的问题