如下是实现输出流的代码
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
各位看贴的不妨你也试下.
本人无才,也没深入研究.
如果哪位仁兄晓得原因还请告知
答复:
哈哈,这么说吧,一个文档,如果只有如下的数据,你说是啥呢?
0xB8,0xA9,0x30。。。
其实,在磁盘上,他们就是一堆字节数组byte[]
所以,所谓的编码类型,是编辑器主动识别的。
为了解决这个问题,Windows自作聪明的出现了BOM这个东西,在一个文件的最开始,写入一个标记
来代表这个文件是什么编码类型的,而这个BOM也成了许多BUG的源泉。
一个最原始的文件,到底是什么什么类型,如果你做程序的人都不知道,那么你只好去猜,去检测,去看运气了。 IE里面也在自动检测HTML的编码类型,不过还是有时猜错了,所以.....