Java基础之文件字符输入输出流和缓冲流

文件字符输入输出流

1.目的

文件字节的输入输出流是以字节为单位进行读写数据,不能很好的操作Unicode字符,而如果一个汉字占两个字节去使用字节输入输出流就要进行转码操作,所以则为了方便对字符进行操作而去使用FileReader,FileWrite字符流。

2.构造方法

其构造方法于字节输入输出流无异,可看上一篇

FileReader(String filename);

FileWrite(String filename,boolean append);等

import java.io.File;
import java.io.*;

public class wenjian_read_write {
	public static void main(String[] args) throws Exception {
		char[] c = new char[1];
		FileReader in =new FileReader(("hello.txt"));//读取文件
		FileWriter out = new FileWriter("world.txt",false);//写入文件第二个属性为boolean值,为true会从文件末尾开始写入数据
                                                           //false则会刷新文件,把之前的覆盖掉
	int n ;//定义停止符
    while((n=in.read(c))!=-1){//把读取的文件字符写入字符数组
 
    	out.write(c,0,n);
    	
    }
    out.flush();//刷新缓冲区,将当前缓冲区的内容写入到目的地
    out.close();
	}
	

}

 

缓冲流

目的:缓冲流增强了读写文件的能力,例如可以通过缓冲流的readLine()方法去读取一行文本和通过newLine()方法去对文件写入回行符.

1.BufferedReader和BufferedWriter构造对象主要是对Reader和Writer传递过来的子类对象(FileReader和FileWriter)进行操作从而创建出BufferedReader和BufferedWriter对象

import java.io.*;

public class wenjian_buffered {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File read = new File("hello.txt");
		File write = new File("world.txt");

		Writer out = new FileWriter(write);
		Reader in = new FileReader(read);
		
		BufferedWriter bw = new BufferedWriter(out);
		BufferedReader br = new BufferedReader(in);
		String n;
		while((n=br.readLine())!=null){//readLine方法的值为string类型
			System.out.println(n);
			bw.write(n);
			bw.newLine();//BufferedWriter的向文件写入回行符的方法
			
		}
		bw.flush();
		bw.close();
	}

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值