使用字符读写文件的流 FileReader&FileWriter

本文介绍了如何使用Java中的FileReader和FileWriter进行文本文件的字符读写操作。FileReader用于从文件中按字符读取数据,而FileWriter用于向文件写入字符数据。需要注意的是,这两个流默认使用系统的字符集,这可能导致在不同编码的文件上运行时出现乱码问题。

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

使用字符读写文件的流
FileReader:文件字符输入流 以字符为单位从文件中读数据
FileWriter:文件字符输出流 以字符为单位向文件中写数据

注意:这两个流仅用于读写文本文件

文件字符输出流
FileReader使用系统默认字符集,且不能改,局限性大

以下代码如若在windows上运行并且char.txt是UTF-8编码,则会乱码

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderDemo {

	public static void main(String[] args) throws IOException {
		//读取文本文件		
		//FileReader reader=new FileReader("char.txt");
		File file=new File("char.txt");
		if(!file.exists()){file.createNewFile();}
		/**
		 * FileReader默认认为使用的是适当字符集,且不能改
		 */
		FileReader fr=new FileReader(file);
//		for(int chr=-1;;){
//			if((chr=fr.read())!=-1){
//				System.out.println((char)chr);
//			}else{break;}
//		}
//		fr.close();
		BufferedReader br=new BufferedReader(fr);
		for(String str=null;;){
			if((str=br.readLine())!=null){
				System.out.println(str);
			}else{break;}
			
		}
		br.close();

文件字符输出流

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

public class FileWriterDemo {

	public static void main(String[] args) throws IOException {
		//也是使用默认字符集,局限性
		FileWriter fw=new FileWriter("fw.txt",true);
		fw.write("我是用文件字符输出流写的");
		
		
		fw.flush();
		fw.close();

	}

}

文件字符输入输出流默认使用系统编码集,且不能改变.局限性较大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值