读含有中文的文本文件一定要用Reader或BufferedReader
因为InputStream是字节流,读取的字节需要自己组装成字符串,自己组装字符串没问题,使用
new String(待组装的字节数组, 开始位置, 结束位置,字符编码)
即可。
但有个大问题,在使用InputStream读取字节时,因为不知道文件到底有多大,所以不能一起性读取,所以每次都是读取固定字节的长度的,也就是说会存在读取半个字符的情况,从而造成乱码。
读含有中文的文本文件一定要用Reader或BufferedReader
因为InputStream是字节流,读取的字节需要自己组装成字符串,自己组装字符串没问题,使用
new String(待组装的字节数组, 开始位置, 结束位置,字符编码)
即可。
但有个大问题,在使用InputStream读取字节时,因为不知道文件到底有多大,所以不能一起性读取,所以每次都是读取固定字节的长度的,也就是说会存在读取半个字符的情况,从而造成乱码。