Java基础笔记31-流转换
- 流转换指字节流和字符流之间的转换。
- 字节流在读取的过程中效率高,针对某些问题(中文乱码,空间浪费等)不好处理,此时就需要将其转换字符流。
- 字符流在读取的过程中效率低且有局限性(音频、视频等),此时就需要将其转换为字节流。
- 相关类:
- InputStreamReader 字节流转换为字符流
- OutputStreamWriter 字符流转换为字节流
代码示例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class IOTransform {
public static void main(String[] args) throws IOException {
transformMethod();
}
/**
* 流转换演示
* 在控制台输出输入的内容
* @throws IOException
*/
public static void transformMethod() throws IOException {
//将控制台输入转变为字节输入流
InputStream is = System.in;
//将字节流转换为字符流
InputStreamReader isr = new InputStreamReader(is);
//使用字符流包装一下
BufferedReader br = new BufferedReader(isr);
//将字符流输出到控制台,此时是字符流,输出为地址
//System.out.println(br);//java.io.BufferedReader@41a4555e
//读取流中的信息
String content = null;
while((content = br.readLine())!=null) {
//退出循环条件
if(content.equals("exit")) {
break;
}
System.out.println(content);
}
//关闭流
br.close();
isr.close();
is.close();
}
}