如下是实现输出流的代码
path = "C:\\1.txt"
public void writeConten(File path,String content){         
try {
FileOutputStream fos = new FileOutputStream(path);
Writer out = new OutputStreamWriter(fos, "utf-8");
out.write(content);
    out.close();
    fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}如果content当中没有汉字那,此1.txt文档的编码为 ANSI
如果里面包含中文,此1.txt文档的编码为 UTF_8各位看贴的不妨你也试下.本人无才,也没深入研究.如果哪位仁兄晓得原因还请告知

解决方案 »

  1.   

    哈哈,这么说吧,一个文档,如果只有如下的数据,你说是啥呢?0xB8,0xA9,0x30其实,在磁盘上,他们就是一堆字节数组byte[]
    所以,所谓的编码类型,是编辑器主动识别的。
    为了解决这个问题,Windows自作聪明的出现了BOM这个东西,在一个文件的最开始,写入一个标记
    来代表这个文件是什么编码类型的,而这个BOM也成了许多BUG的源泉。一个最原始的文件,到底是什么什么类型,如果你做程序的人都不知道,那么你只好去猜,去检测,去看运气了。 IE里面也在自动检测HTML的编码类型,不过还是有时猜错了,所以.....