读中英文txt文档时,读出来的都是乱码,java用Unicode编码,但是还是不太明白中文英文都不能正确读出来这个问题,在加上byte数组时候可以正确读出,这是为什么?希望高手能清晰了解释一下,万分感谢- package ioliu;
- import java.io.*;
- public class CopyOfTestInputStream {
- public static void main(String[] args) throws Exception{
-
- InputStream is = new FileInputStream("D:\\xunlei\\1.txt");//字节流
- /** 每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。
- 为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如: BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- */
-
- /* int ch;
- ch = is.read();//从输入流中读取数据的下一个字节。
- while(-1 != is.read())
- {
- System.out.printf("%c", ch);
- ch = is.read();
- }*/
-
- //写成下面的方式可以避免乱码,但是byte大小设定成100,会读不完
- /* byte[] b=new byte[1000]; //创建合适文件大小的字节数组
-
- is.read(b); //读取文件中的内容到b[]数组
- is.close();
- System.out.println(new String(b)); */
-
- }
- }
- /*eclipse默认编码方式GBK,换成UTF-8也是乱码
- * 出现丢失,乱码的情况
- Nvrgv p
- Nvrls oe
- Awy aefih
- I losyut oe
- Tyn ie ilps,
- ste lasd.
- uthv aine
- Yu raswl oetu.
- opto ml,
- o'llv hog orpi.
- nwi ilps,
- n teghyuwl an
- ???ú?
- ?????? ?
- ?????
- ??????×? ?
- ???±??????
- ???? ?
- ??????
- ?????? ?
- ?????
- ??×??? ?
- à?à?¨á???
- ?????? ?
- *????
- odfs odem ???????
- o fdem i ??????
- Lf saboe-igdbr úü?ó?ù??áò
- htcnnvrfy ?????è
- odfs odem ???????
- Frwe rasg ??????
- Lf sabre il úü?ó?¤??°?
- Foe nywt nw??±·??????
- */
复制代码
|
-
-
1.zip
720 Bytes, 下载次数: 74
|