java的char用的UCS-2的编码, 需要16bit的存储空间byte[]形式的任何字符编码,每个字符都会转换成16bit。除非这个byte[]里面存储的是UCS-2或者UTF-16BE编码,不经转换能直接使用byte[]的几率和场合都不大。如果数据大,就一次少读一点文本,比如几行几KB,然后用一个StringBuffer拼接起来。。其余的碎数据能随时被垃圾回收。。