Java学习笔记之Stream(流)与文件读写

概念:

流是对输入输出的一种抽象。不同类型的输入输出,如文件等,都抽象为流。Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。

分类:

按流的方向,可分为输入流和输出流;按流的内容,可分为字节流和字符流。根据两个分类标准衍生出四个重要的类:
在这里插入图片描述此外,还可分为节点流和处理流。前者是从一个特定的地方(节点)读取数据,后者是对一个已有的流进行封装。如常用的缓冲处理BufferedReader,可以一个字符一个字符一直读到换行符为止。

用流实现文件读写:

一、单字符读写

FileReader reader = new FileReader(new File("文件路径"));
int i = reader.read();
FileWriter writer = new FileWriter(new File("文件路径"));
writer.print(i);

需要注意的是,单字符读写的有关参数和返回值都是int类型而非char,是因为要用返回-1表示到达文件末尾。

二、整行读写

BufferedReader reader = new BufferdReader(new FileReader(new File("文件路径"));
String s = reader.readLine();
PrintWriter writer = new PrintWriter(new FileWriter(new File("文件路径"));
writer.print(s);

这样就可以一行一行地读写文件了。

Java 1.5之后的新包中的 Java.nio.file.Files类,可以一口气读取全部的文件:

三、整个文件读取

List<String> lines = Files.readAllLines(
	Paths.get("文件路径"),
	Charset.forName("编码,如utf8或gbk")
	);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值