转换流
import java.io.FileWriter; import java.io.IOException; public class Demo01 { //直接写入utf-8编码文件中是乱码 public static void main(String[] args) throws IOException { FileWriter fw=new FileWriter("E:\\java\\utf-8.txt",true); fw.write("你好,小猪佩奇"); fw.close(); } } OutputStreamWriter类
写入utf-8编码文件 import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Demo02 { //转换流写入utf-8编码文件中显示就正常了 public static void main(String[] args) throws IOException { //指定目的地 FileOutputStream fos=new FileOutputStream("E:\\java\\utf-8.txt",true); //创建转换流 OutputStreamWriter osw=new OutputStreamWriter(fos, "utf-8"); //写入内容 osw.write("你好"); osw.flush(); //释放资源(new了谁就关谁 先开的后关) osw.close(); fos.close(); } } 写入gbk文件 import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Demo03 { //写入gbk文件 public static void main(String[] args) throws IOException { //指定目的地 FileOutputStream fos=new FileOutputStream("E:\\java\\gbk.txt",true); //创建转换流 OutputStreamWriter osw=new OutputStreamWriter(fos);//默认gbk osw.write("你好"); osw.close(); fos.close(); } } InputStreamReader类
读取utf-8文件 import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class Demo04 { //读取utf-8文件 public static void main(String[] args) throws IOException { //指定目的地 FileInputStream fis=new FileInputStream("E:\\java\\utf-8.txt"); //创建转换流 InputStreamReader isr=new InputStreamReader(fis, "utf-8"); int len=0; while((len=isr.read())!=-1){ System.out.println((char)len); } isr.close(); fis.close(); } } 数组字节读取gbk文件 import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class Demo05 { //数组字节读取文件 public static void main(String[] args) throws IOException { //明确数据源 FileInputStream fis=new FileInputStream("E:\\java\\gbk.txt"); //创建转换流 InputStreamReader isr=new InputStreamReader(fis);//默认gbk //读取文件 char[] ch=new char[24]; int len=0; while((len=isr.read(ch))!=-1){ System.out.println(new String(ch,0,len)); } isr.close(); fis.close(); } }