io流学习之字节流与字符流之间的转换

时间:2021-10-25 21:36:32


一、


public class TypeToChar {

/*
* 字节流转换成字符流

* 1、字节流转换成字节流的对象,(InputStreamReader(叫做转换流):作用:就是字节流通
* 向字符流之间转换的桥梁,字节流和字符流的转换存在着编码的方式。
* ) 
*/
public static void main(String[] args) throws Exception {
//字节流
InputStream in=System.in;//如果用字节流读取键盘中输入的一个中文字
//while循环两次,因为一个汉字是两个字节。
/*
* 将字节流转换成字符流的桥梁,
* 将字节流转换成字符流是为了,以后使用字符流中的方法,
* 使得程序更加的高效。
*/
//该桥梁流是字符流。
InputStreamReader isr=new InputStreamReader(in);//这个读取一个汉字
//InputStreamReader流通过字节流读取的两个字节的数据,然后通过与编码格式的转换
//成一个汉字,并输出。
//只读取一次。
//字符流
BufferedReader br=new BufferedReader(isr);
String line=null;
while((line=br.readLine())!=null){
if("over".equals(line))
break;
System.out.println(line.toUpperCase());
}
}

}

二、

public class CharToType {
/*
* 字符流向字节流之间的转换。
* 桥梁是:InputStreamWriter(类)
* 该类是字符向字节流转换的桥梁。

* 编码:把字符变成字节是编码。

* 解码:把字节变成字符是解码

*/
public static void main(String[] args) {
OutputStream out=System.out;
OutputStreamWriter osr=new OutputStreamWriter(out);
}
}


三、

public class DemoTest01 {
public static void main(String[] args) throws Exception {
//读取键盘录入:要求死记。
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
String line=null;
while((line=br.readLine())!=null){
  if("over".equals(line))
  break;
  bw.write(line);
  bw.flush();
  System.out.println();
}
}
}

io流学习之字节流与字符流之间的转换