本文共 1228 字,大约阅读时间需要 4 分钟。
读入
1. BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("D:/cplus/norm/norm/exp"), "UTF-8"));
2. BufferedReader br = new BufferedReader(new FileReader("file.txt"));
方法2不能设置解码的编码集,只能使用平台默认的,有所限制。
写入
1. BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("t3"), "utf-8"));
2. BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"));
3. PrintWriter pw = new PrintWriter("t2","utf-8");
方法1的效率很高,但是输出的方法只有bw.write,换行符只能用bw.newLine()
方法3除了效率有略微的差,相比方法1。优势在于,简单,可以pw.printf格式输出,可以不写try catch,可以直接println输出根据平台变化的换行符
方法3还有一个缺点是如果指定是追加模式,就不能指定编码
fileWriter = new FileWriter(file,true);
printWriter = new PrintWriter(fileWriter);
printWriter.println(str);
还是用方法1实现追加模式 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("td", true), "utf-8"));
PrintWriter out = new PrintWriter(new OutputStreamWriter(
new FileOutputStream("exp.log"), "UTF-8")); String line; while ((line = in.readLine()) != null) out.println(Normalizer.normalizeLine(line, langID, punct)); in.close();out.close();
读ascii码文件,只用
BufferedReader groupFile = new BufferedReader(new FileReader(groupIn));
PrintStream fo = new PrintStream(new FileOutputStream(fileOut));转载地址:http://dteti.baihongyu.com/