Java中的流——转换流

 

Java中的流——转换流

字节流转字符流

 java.io

Class OutputStreamWriter

java.io

Class InputStreamReader

TestTransForm1.java

import java.io.*;

/*
	OutputStreamWriter,将字节转为字符
*/
public class TestTransForm1 {
  public static void main(String[] args) {
    try {
	  //OutputStreamWriter,将字节转为字符; FileOutputStream 文件输出字节流
      OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("F:\\java\\io\\char.txt"));
      osw.write("mircosoftibmsunapplehp");
	  //osw.getEncoding()拿到文件的字符编码
      System.out.println(osw.getEncoding());//GBK,windows中文电脑默认为GBK编码
      osw.close();
	  
	  /*
		new FileOutputStream("F:\\java\\io\\char.txt", true),"ISO8859_1");
		true,在源文件的基础上添加
		"ISO8859_1",指定字符编码
	  */
      osw = new OutputStreamWriter(new FileOutputStream("F:\\java\\io\\char.txt", true),"ISO8859_1"); // latin-1
      osw.write("mircosoftibmsunapplehp");
      System.out.println(osw.getEncoding());//ISO8859_1,设置的编码
      osw.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
f:\java\io>javac TestTransForm1.java

f:\java\io>java TestTransForm1
GBK
ISO8859_1

f:\java\io>

TestTransForm2.java

import java.io.*;

/*
	InputStreamReader,字节流转字符流
*/
public class TestTransForm2 {
  public static void main(String args[]) {
	  
	//System.in系统输入,  
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    String s = null;
    try {
	  //读一行
      s = br.readLine();
      while(s!=null){
        if(s.equalsIgnoreCase("exit")) break;
		//toUpperCase()转换为大写
        System.out.println(s.toUpperCase());
		//读下一行
        s = br.readLine();
      }
      br.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
} //阻塞
f:\java\io>javac TestTransForm2.java

f:\java\io>java TestTransForm2
abcdedfgi
ABCDEDFGI
你好
你好
exit

f:\java\io>

 

 

猜你喜欢

转载自mfcfine.iteye.com/blog/2384648
今日推荐