这和取值范围无关,写中文直接用writebytes()即可,存到文件中的都是十六进制数,没有任何影响的。只要你不把它当作数值运算就行。

解决方案 »

  1.   


    例:   String FILE_ENCODE = "GB2312";    PrintWriter out = new PrintWriter( new BufferedWriter(   new OutputStreamWriter( new FileOutputStream(FileName), FILE_ENCODE)));
      

  2.   

    例:   String FILE_ENCODE = "GB2312";    PrintWriter out = new PrintWriter(
            new BufferedWriter(
                new OutputStreamWriter(
                    new FileOutputStream(FileName), FILE_ENCODE)));
      

  3.   

    直接用BufferedOutputStream就可以了,写入后,是普通的文件,除非你指定才会写成UTF8的文件.