【Java基础】IO流(4) —— 转换流、打印流

【Java基础】IO流(1) —— 简介
【Java基础】IO流(2) —— 字符流
【Java基础】IO流(3) —— 字节流
【Java基础】IO流(4) —— 转换流、打印流
【Java基础】IO流(5) —— 序列流、内存流
【Java基础】IO流(6) —— 随机访问文件流、数据流

转换流

InputStreamReader字节输入流到字符输入流的桥

OutputStreamWriter字节输出流到字符输出流的桥

构造方法

  • InputStreamReader(OutputStream out)
    创建一个使用默认字符编码的转换输入流
    InputStreamReader(OutputStream out, String charsetName)
    创建一个使用命名字符集的转换输入流

方法

//定义标准的键盘输入
InputStream ins=System.in;
//把字节输入流转为字符输入流
InputStreamReader isr=new InputStreamReader(ins);
//为了提高效率,可以使用BufferedReader
BufferedReader br=new BufferedReader(isr);
//定义标准的键盘输出
PrintStream ps=System.out;
//把字节输出流转为字符输出流
OutputStreamWriter osw=new OutputStreamWriter(ps);
//为了提高效率,可以使用BufferedWriter
BufferedWriter bw=new BufferedWriter(osw);
String line=null;
while ((line=br.readLine())!=null){
	if ("886".equals(line))
		break;
	bw.write(line);
	bw.newLine();
	bw.flush();
	//System.out.println(line);
}
br.close();
bw.close();
public static void reads() throws IOException{
	InputStreamReader isr=new InputStreamReader(new FileInputStream("UTF-8.txt"),"UTF-8");
    //GBK编码中一个汉字占两个字节,UTF-8中一个汉字占三个字节
	char[] arr=new char[2];
	int num=isr.read(arr);
	System.out.println(new String(arr,0,num));//你好
	isr.close();
}
public static void writes() throws IOException{
	OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("UTF-8.txt"),"UTF-8");
	osw.write("你好");
	osw.close();
}

在这里插入图片描述

打印流

PrintStream:字节打印流

继承了OutputStream,具备了字节输出流的基本功能,特有打印功能

  1. 可以操纵File类型的文件
  2. 可以操纵String类型的文件
  3. PrintStream(OutputStream out) 可以操作字节输出流对象

PrintWriter:字符打印流

继承了Writer,具备了Writer的基本功能,特有打印功能

  1. 可以操纵File类型的文件
  2. 可以操纵String类型的文件
  3. PrintWriter(OutputStream out) 可以操作字节输出流对象
  4. PrintWriter(Writer out) 可以操作字符流输出对象
  • 19
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值