1 package com.pocketdigi;
2
3 import java.io.File;
4 import java.io.FileInputStream;
5 import java.io.FileOutputStream;
6 import java.io.IOException;
7 import java.io.InputStreamReader;
8 import java.io.OutputStreamWriter;
9
10 public class Main {
11
12 public static void main(String[] args) throws IOException {
13 File f = new File("d:/a.txt");
14 FileOutputStream fop = new FileOutputStream(f);
15 // 构建FileOutputStream对象,文件不存在会自动新建
16 OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
17 // 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk
18 writer.append("中文输入");
19 // 写入到缓冲区
20 writer.append("
");
21 // //换行
22 writer.append("English");
23 // writer.flush();
24 // 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入
25 writer.close();
26 //关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉
27 fop.close();
28 // 关闭输出流,释放系统资源
29
30 FileInputStream fip = new FileInputStream(f);
31 // 构建FileInputStream对象
32 InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
33 // 构建InputStreamReader对象,编码与写入相同
34
35 StringBuffer sb = new StringBuffer();
36 while (reader.ready()) {
37 sb.append((char) reader.read());
38 // 转成char加到StringBuffer对象中
39 }
40 System.out.println(sb.toString());
41 reader.close();
42 // 关闭读取流
43 fip.close();
44 // 关闭输入流,释放系统资源
45
46 }
47 }
转自 http://www.pocketdigi.com/20110805/436.html