FileWriter
package writer_33;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
//借助字元輸出流Writer-FileWriter往檔案中寫入内容
public class FileWriterDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Writer fw=null;
try {
System.out.println(System.getProperty("file.encoding"));
fw=new FileWriter("writer.txt");
//字元輸出流:把一個個位元組輸出流做了包裝,包裝的同時指定字元編碼格式
String s="hello writer,字元輸出流";
fw.write(s);
//指定字元串的特定内容寫入檔案
//fw.write(s, 0, 2);
fw.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
控制台輸出目前的編碼格式

字元串寫入writer.txt文檔中
OutputStreamWriter類
package writer_33;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
//借助字元輸出流Writer-OutputStreamWriter往檔案中寫入内容-解決中文亂碼問題
public class OutputStreamWriterDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Writer fw=null;
FileOutputStream fos=null;
OutputStreamWriter osw=null;
try {
System.out.println(System.getProperty("file.encoding"));
fos=new FileOutputStream("writer.txt");
//字元輸出流,把一個位元組輸出流做了包裝,包裝的同時指定字元編碼格式
osw=new OutputStreamWriter(fos, "GBK");
String s="hello writer,字元輸出流解決中文亂碼問題";
osw.write(s);
} catch ( IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
osw.close();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}