网站首页 > 基础教程 正文
1、FileReader是用于读取字符流。 要读取原始字节流,请考虑使用FileInputStream 。
2、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();
}
}
}
- 上一篇: C语言指针专题第11讲:结构体指针
- 下一篇: 在Java里如何读取文件
猜你喜欢
- 2025-03-12 Java程序员Python学习指南(中篇)
- 2025-03-12 从IO到NIO:Java数据传输的进阶之路
- 2025-03-12 智能库存管理系统:让仓库管理变得简单高效
- 2025-03-12 java IO知识体系
- 2025-03-12 还不理解 Error 和 Exception 吗,看这篇就够了
- 2025-03-12 在Java里如何读取文件
- 最近发表
-
- 掌握SpringBoot-2.3的容器探针:实战篇
- kubernetes基础知识之驱逐节点(k8s驱逐节点后恢复)
- Linux环境中制作网络哨兵Sentinel Docker镜像
- k8s之配置CNI网络(k8s 网络配置)
- docker实战之:镜像更新(docker 镜像升级替换)
- 离线在docker镜像方式部署ragflow0.17.2
- Linux日常小技巧Docker打包(docker打包lnmp)
- 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- Kylin安装Dify(kylin安装部署)
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)