本人现在遇到一个棘手的问题,一个文本文件原为UTF-8格式,在JAVA中处理,修改内容再写入时,文件格式变为ANSI格式导致其他地方不能正常读取,有相关经验的请帮忙,多谢.

解决方案 »

  1.   

    带编码读写文件   try {
           String inStr;
           StringBuffer sb = new StringBuffer("");
           String outStr;
           BufferedReader in = new BufferedReader(new InputStreamReader(new
               FileInputStream(rFilePath), "UTF8"));
           while ((inStr = in.readLine()) != null) {
           sb.append(inStr + "\r\n");
           }
           in.close();       outStr = sb.toString();
           outStr = outStr.replaceAll(rDirName, rNewName);       FileOutputStream fout = new FileOutputStream(rFilePath);
           OutputStreamWriter writer = new OutputStreamWriter(fout, "utf-8");
           writer.write(outStr);
           writer.flush();
           writer.close();
           fout.close();   } catch (IOException e) {
            // to do sth.
       }
      

  2.   

    jdoc:public InputStreamReader(InputStream in,
                             String charsetName)
                      throws UnsupportedEncodingExceptionCreate an InputStreamReader that uses the named charset.
      

  3.   

    你修改时用的数据类型不对,你要用UTF-8的数据类型,具体你自己看看java类型
      

  4.   

    OutputStreamWriter类似,java有现成的接口的:)
    给分给分
      

  5.   

    测试了一下,好像可以哎,masse(当午) 是牛人