Java基础知识 -- I/O流

一. 流与相关类

1. 流
  • 使用多个流类型(类或抽象类)来实现输入/输出的功能
  • 隐藏实际IO设备处理数据的细节
  • 分类:
    • 按功能分:节点流、处理流
    • 按流向分:输入流、输出流
    • 按处理单位分:字节流、字符流
按流向/处理单位分字节流字符流
输入流InputStreamReader
输出流OutputStreamWriter
2. 字节流

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1j6yTSJi-1597502827148)(upload\image-20200730215010043.png)]

  • InputStream节点流类型
    | 类 | 功能 |
    | :---------------------: | :-------------------------------------------------------: |
    | ByteArrayInputStream | 允许将内存的缓冲区当作InputStream使用 |
    | StringBufferInputStream | 将string转换成InputStream |
    | FileInputStream | 用于从文件中读取信息 |
    | PipedInputStream | 产生用于写入相关PipedOutputStream的数据,实现“管道化”概念 |
  • InputStream处理流类型
功能
DataInputStream与DataOutputStream搭配使用,可参照可移植方式从流读取基本数据类型
BufferedInputStream使用它可以防止每次读取时都得进行实际的读操作
LineNumberInputStream跟踪输入流中的行号;可调用getLineNumber()和setLineNumber()
PushbackInputStream具有一个字节的回退缓冲区,可以将读到的最后一个字符回退
SequenceInputStream将两个或多个InputStream对象转化为单一的InputStream
ObjectInputStream使任意一个对象能够像数据流一样进行输入
InputStream 的方法(throws IOException):
	int read()
	int read(byte[] buffer)
	int read(byte[] buffer, int offset, int length)
	void close()
	long skip(long n)

OutputStream 的方法(throws IOException):
	void write(int b)
	void write(byte[] b)
	void write(byte[] b, int off, int len)
	void close()
	void flush()
3. 字符流

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5DBbvpbj-1597502827150)(upload\image-20200730222818612.png)]

Reader 的方法(throws IOException):
	int read()
	int read(byte[] buffer)
	int read(byte[] buffer, int offset, int length)
	void close()
	long skip(long n)

Writer 的方法(throws IOException):
	void write(int c)
	void write(char[] cbuff)
	void write(char[] cbuff, int offset, int length)
	void write(String string)
	void write(String string, int offset, int length)
	void close()
	void flush()

二. 标准I/O流

1. 三个标准I/O流
  • System.in:InputStream类的对象实例in作为标准输入流对象,对应于键盘输入
  • System.out:PrintStream类的对象实例out作为标准输出流对象,对应于显示器输出
  • System.err:PrintStream类的对象实例err作为标准错误输出流对象,对应于显示器输出
重新定义标准I/O流:
	void setIn(InputStream in) 
	void setOut(OutputStream out)
	void setRrr(OutputStream err)
2. java.util.Scanner类
  • 用于扫描输入文本的类,StringTokenizer与Matcher类的结合
构造方法:
	Scanner(File source) //从文件中接受内容
	Scanner(InputStream sourcce) //从指定的字节输入流中接受内容
	hasNextInt() //判断输入数据是否是整数
	hasNextFloat() //判断输入数据是否是浮点数
	hasNext(Pattern pattern) //判断输入数据是否符合指定的正则标准
	next() //接受内容
	next(Pattern pattern) //接受内容,并进行正则验证
	nextInt() //接受整数
	nextFloat() //接受浮点数
	Scanner useDelimiter(String pattern) //设置读取的分隔符

三. 文件输入输出流

1. File类
  • java.io.File
2. 基于字节的文件流
  • FileInputStream
  • FileOutputStream
3. 基于字符的文件流
  • FileReader
  • FileWriter
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值