IO流中的字符输出流Writer以及五种写文件实例

a) 实现类OutputStreamWriter的方法,

 构造方法(只能传递字节流对象):
  i. OutputStreamWriter(OutputStream out) 根据默认编码格式把字节流转换为字符流
  ii. OutputStreamWriter(OutputStream out, String charsetName)
  根据指定编码格式把字节流转化为字符流
 成员方法:
  iii. public void write (int c) 写入一个字符
  iv. public void write (char [] cbuf) 写入一个字符数组
  v. public void write (char [] cbuf , int off ,int len)写入一个字符数组的一部分
  vi. public void write (String str) 写入一个字符串
  vii. public void write (String str, int off, int len) 写入一个字符串的一部分
  viii. void flush() 刷新该流的缓冲
  ix. void close() 关闭流对象,在关闭之前会自动刷新流缓冲
 字符流写入时只是写入了缓冲区,需要flush()来将数据写入到文件,
 如果有close()语句则可以不需要写flush()语句

b) 常用OutputStreamWriter的子类FileWriter

 构造方法:
  i. FileWriter(File file)
  ii. FileWriter(File file, boolean append)append为true从文件后面继续写
  iii. FileWriter(String filename)
  iv. FileWriter(String filename, boolean append)
 成员方法和OutputStreamWriter方法一样
 实例在下面给出

c) close()和flush()的区别

 i. close()先刷新一次缓冲区,之后关闭流对象,关闭之后就不可以再继续用流 对象了
 ii. flush()仅仅刷新缓冲区,刷新之后流对象可以继续使用

d) 字符缓冲流BufferedWriter

 i. 构造方法
  BufferedWriter(Writer out) out为Writer类对象
 ii. 成员方法和FileWriter类相同
  特殊方法:
  public void newLine()根据系统来添加一个换行符

五种方式写文件实例

使用字符缓冲区

package Test3_FileWriter;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

/*
 * 使用五种方式写
 * public void write (int c)	写入一个字符
 * public void write (char [] cbuf)	写入一个字符数组
 * public void write (char [] cbuf , int off ,int len)写入一个字符数组的一部分
 * public void write (String str)	写入一个字符串
 * public void write (String str, int off, int len)	写入一个字符串的一部分 
 */
public class Demo {
	public static void main(String[] args) throws IOException {
		BufferedWriter bw=new BufferedWriter(new FileWriter("Demo2.txt"));
		
		//方法一
		int i=97;
		bw.write(i);
		
		//换行符
		bw.write("\n");
		
		//方法二
		char []c= {'j','a','v','a'};
		bw.write(c);
		bw.write("\n");
		
		//方法三
		bw.write(c,2,1);
		bw.write("\n");
		
		//方法四
		String s="zfliu";
		bw.write(s);
		bw.write("\n");
				
		//方法五
		bw.write(s,2,2);
				
				
		//刷新该流的缓冲
		bw.flush();
		
		//关闭流对象,在关闭之前会自动刷新流缓冲
		bw.close();
	}
}

Demo2.txt文件显示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值