文件字符输入和输出流

本文介绍了Java中针对字符操作的FileReader和FileWriter类,用于处理字符输入和输出流。通过具体代码示例,展示了如何使用FileWriter创建字符输出流,以及如何利用缓冲区读取和写入文件内容。最后提到了关闭流的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面我们听到了文件字节流FileOutputStream和FileInputputStream主要式针对字节的输入和输出流的操作,

但是在我们变成里面字符使用的比较多,因此Java提供了字符输入和输出流的操作.分别是FileReader和FileWriter

这两个构造方法,下面我们通过具体的代码来说下.

package Test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo {
   public static void main(String[] args) {
	  File f=new File("word.txt");
	  //创建字符输出流
	  FileWriter fw=null;
	  try {
		fw= new FileWriter(f,false);//true表示在源文件后追加的效果.
		String str="天行健,自强不息,地势坤,厚德载物,这里式结尾,没有了";
		fw.write(str);//将字符串写入到文本文档里面
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if (fw!=null) {
		try {
			fw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
				e.printStackTrace();
		}
	}
	}
	  
   //创建字符输出流.将文件的信息读取到我们的想要输出的位置.
	  FileReader rw=null;
	    try {
			rw=new FileReader(f);
			char arr2[]=new char[1024];//创建缓冲区.
			int count;//表示已读出的数据.
			try {
				while((count=rw.read(arr2))!=-1) {
					//循环读取文件里面的数据,直到文件的最后一行,当返回为-1的时候表示文件已经读取完成.所有字符已经读完.
					System.out.println("读取文件的数据为:"+new String(arr2,0,count));
					
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if (rw!=null) {
				try {
					rw.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}


}
}

1.FileWriter创建字符输出流,同样有2个参数,一个参数就是一个文件对象,后面的bool数值表示的就是是否在文件后面醉驾。

2.new  char创建字符串缓冲区.

3.new String传入一个包装类,传入一个字符串缓冲区,将字符串缓冲区的字符直接显示出来。这个过程式java后台自动

实现的,后面有2个参数,分别从字符穿的开始索引位置到结束索引位置.

4.循环读取缓冲区的数据,当当到了最后一行的时候会返回-1表示文件的内容已经读完成.

5.close方法表示关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值