专业编程基础技术教程

网站首页 > 基础教程 正文

FileReader

ccvgpt 2025-03-12 12:37:09 基础教程 3 ℃

1、FileReader是用于读取字符流。 要读取原始字节流,请考虑使用FileInputStream 。

2、FileReader构造方法

FileReader

1、public FileReader(String fileName) throws FileNotFoundException

解释:创建一个新的 FileReader ,给定要读取的文件的名称。

参数:fileName - 要读取的文件的名称

异常:FileNotFoundException - 如果命名文件不存在,是一个目录,而不是常规文件,或者由于某些其他原因无法打开读取。


2、public FileReader(File file) throws FileNotFoundException

解释:创建一个新的 FileReader ,给定 File读取。

参数:file - 要阅读的 File

异常:FileNotFoundException - 如果文件不存在,是一个目录而不是常规文件,或者由于某些其他原因无法打开阅读。

3、常用方法

1、public int read() throws IOException

读一个字符 该方法将阻塞,直到字符可用,发生I / O错误或达到流的结尾。

结果 :字符读取,作为0到65535( 0x00-0xffff )范围内的整数,如果已经达到流的末尾,则为-1。


2、public int read(char[] cbuf) throws IOException

将字符读入数组。 该方法将阻塞,直到某些输入可用,发生I / O错误或达到流的结尾。

参数 :cbuf - 目的缓冲区

结果: 读取的字符数,如果已经达到流的结尾,则为-1


4、将D盘的a.txt文件读取到程序中,并打印到控制台

package pro1;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;

public class $Test03 {
	
	public static void main(String[] args) throws Exception {
		
		//源目录
		String sourcePath = "D:\\a.txt";
		//初始化字符输入流
		FileReader fileReader = null;
		//定义int类型变量resultData:用于接收read方法读取的字符值
		int resultData = 0;
		try {
			//将字符输入流和sourcePath关联起来
			fileReader = new FileReader(sourcePath);
			//循环读取fileReader字符输入流中字符,每次读取一个字符
			while ((resultData = fileReader.read()) != -1) {
				System.out.print((char)resultData);
			}
			
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			fileReader.close();
		}
		
	}
}

第二种方法:通过字符数组读取:

package pro1;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;

public class $Test03 {
	
	public static void main(String[] args) throws Exception {
		
		//源目录
		String sourcePath = "D:\\a.txt";
		//初始化字符输入流
		FileReader fileReader = null;
		//定义int类型变量resultlength:用于接收读取字符的长度
		int resultlength = 0;
		//创建字符数组大小为2,字符输入流每次读取两个字符放入char数组中
		char[] c = new char[2];
		
		try {
			//将字符输入流和sourcePath关联起来
			fileReader = new FileReader(sourcePath);
			//循环读取fileReader字符输入流中字符,每次读取一个字符
			while ((resultlength = fileReader.read(c)) != -1) {
				System.out.print(new String(c , 0 , resultlength));
			}
			
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			fileReader.close();
		}
		
	}
}

最近发表
标签列表