转换流是把字节流转换成字符流,比如往一个文件中写内容,原本是一个字节一个字节的写,转换为字符流后,我们可以一个字符串,一个字符串的写,书写中文很方便
转换流class: OutputStreamWriter,InputStreamReader,需要和OutputStream/inputStream套接,并且在构造是可以指定其编码
1 import java.io.File; 2 import java.io.FileOutputStream; 3 import java.io.IOException; 4 import java.io.OutputStreamWriter; 5 6 7 public class TestTransForm1 { 8 9 /** 10 * @param args 11 * @throws IOException 12 */ 13 public static void main(String[] args) throws IOException { 14 15 String path="D:"+File.separator+"trans.txt"; 16 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(path,true),"ISO8859_1"); 17 osw.write("test"); 18 osw.flush(); 19 System.out.println(osw.getEncoding()); 20 osw.close(); 21 22 } 23 24 }
输出结果:ISO8859_1
trans.txt中的内容:test
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 5 6 public class TestTransForm2 { 7 8 /** 9 * @param args 10 * @throws IOException 11 */ 12 public static void main(String[] args) throws IOException { 13 InputStreamReader isr=new InputStreamReader(System.in); 14 BufferedReader br=new BufferedReader(isr); 15 String s=null; 16 s=br.readLine(); 17 while(s!=null){ 18 if(s.equalsIgnoreCase("exit")){ 19 break; 20 } 21 22 System.out.println(s.toUpperCase()); 23 s=br.readLine();//将s重新指向键盘输入 24 } 25 isr.close(); 26 br.close(); 27 } 28 29 }
输出结果: