//缓存模式读取,有乱码问题
            FileInputStream fis = new FileInputStream(path);
            byte[] b = new byte[1024];
            StringBuffer sb = new StringBuffer();
            while(fis.read(b)!=-1){
                sb.append(b);
            }
            fis.close();
            lawContent = new String(sb);
            //lawContent = new String(lawContent.getBytes("iso-8859-1"),"gb2312");(这个不行)
            System.out.println("lawContent="+lawContent);为什么读取出来都是"[B@19b808a[B@19b808a[B@19b808a"这些东西?如何解决?
必须用缓存模式读取,我们老大说的,我做个测试,读107K文件,缓存只用了0.06秒
而readline()用了7秒

解决方案 »

  1.   

    已经解决了
    FileInputStream fis = new FileInputStream(path);
                byte[] b = new byte[1024];
                StringBuffer sb = new StringBuffer();
                while (fis.read(b) != -1) {
                    sb.append(new String(b,"gbk"));//转码
                }
                fis.close();
                lawContent = new String(sb);
                lawContent = lawContent.replaceAll("\"",""");