IO流之字符流

字符流

主要用来操作文本文件

字符流-文件输入流(FileReader)

其中的构造方法和方法和字节流输入流FileInputStream非常类似,差别就是单位是char

构造方法

FileReader(File file)
          在给定从中读取数据的 File 的情况下创建一个新 FileReader。
FileReader(String fileName)
          在给定从中读取数据的文件名的情况下创建一个新 FileReader

读取方法

int read()

调用一次读到一个数据字节,返回的int值就是读到的数据

如果已到达文件末尾,则返回 -1

        FileReader reader = new FileReader("1.txt");
		int n;
		while((n=reader.read())!=-1){
			System.out.print((char)n);
		}

 int read(char[] b)

调用一次本方法表示可以读取多个数据

读到的内容保存传入的char数组b中

返回的是本次调用方法读到的数据字节个数

        FileReader reader = new FileReader("1.txt");
		char[] a=new char[5];
		int n;
		while((n=reader.read(a))!=-1){
			System.out.print(new String(a,0,n));
		}

字符流-文件输出流(FileWriter)

write方法只会将数据写入到缓存区,而flush和close都会将缓存区的数据写入到文件中,但是flush方法只是刷新并没有关闭流资源,后面依然可以继续写入数据,而close是关闭流资源,所以后面不能继续写入数据了

构造方法

append--一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处

FileWriter(File file)
          根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(File file, boolean append)
          根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(String fileName)
          根据给定的文件名构造一个 FileWriter 对象。
FileWriter(String fileName, boolean append)
          根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。

读取方法

特有的方法: 可以直接写字符串,其余与字节流差不多

void write(String str)  

写入字符串。

void write(String str, int off, int len)

写入字符串的一部分

        FileWriter writer = new FileWriter("1.txt");
		writer.write("撒大苏打");
		writer.flush();

void write(char[] a)    

调用一次,可以把一个char数组中的数据写入

        char[] f={'阿','是','实'};
		writer.write(f);
		writer.close();

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值