java 基本的文件读写

读入

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));

你可能感兴趣的:(java,String)