用java程序去爬网页上的内容,或者读取磁盘文件时,如何可以正确的解码;因为网页上用的解码,跟开发平台解码不一样,所以会出现乱码
原问题:如果有一个很大的文件(字节流,内含中文)不能一下读进内存,如何才能把其内容正确的显示在操作台上(不乱码);
我的方法是分段读取,然后打印,可是会乱码

解决方案 »

  1.   

    java好像涉及到国际化得问题。我也是新手,呵呵
      

  2.   

    new String(string.getBytes(code1), code2)
      

  3.   

    我是用:
                      byte [] buffer = new byte[ 1024 ];
    while ( true ) {// 循环读取流里的数据
    int len = fis.read( buffer );
    if ( -1 == len ) {// 如果已经读到文件末尾
    break;
    }
    String str = new String( buffer, 0, len, "utf-8" );
    System.out.println( str );
    }可是我就是担心出现这种情况,如果读取的这个1024位字节的最后一个字符正好是一个中文的一半(一个中文由两个字节组成),而它的另一半要下次才读到,那打印的时候本次也是乱码,然后下一次因为也只是读到一半所以应该也是乱码呀;我对系统编码跟程序编码的问题可能还是不大理解,请各位高手详细讲解一下一下呀,谢谢