IO流---基础 (附相对路径)

发布于:2022-08-04 ⋅ 阅读:(359) ⋅ 点赞:(0)

一、IO流—基础 (附相对路径)

  • 概念:
  1. 参照物:内存、程序
  2. Input: 输入 从硬盘到程序/ 读取Reader
  3. Output: 输出 从程序到硬盘/ Writer
流的派系 类型 注释
java.io.InputStream 字节输入流 抽象类,父类是Object,实现了Closeable
java.io.OutputStream 字节输出流 抽象类,父类是Object,实现了Closeable和Flushable接口
java.io.Reader 字符输入流 抽象类,父类是Object,实现了Closeable
java.io.Writer 字符输出流 抽象类,父类是Object,实现了Closeable和Flushable接口

1.流的分类

  • 输入输出分类

    1. 输入 InputStream 、Reader
    2. 输出 OutputStream 、Write
  • 按照读写方式分类

  1. 字符(char):一次读取一个字符的数据,字符流只能操作纯文本,Reader、Writer结尾的都是字符流
  2. 字节(byte): 一次读取一个字节的数据,字节都是万能流,操作图片、文字、音频、视频,凡是 Stream结尾的都是 字节流
  • 结论: 流都可以关闭,也可以刷新,因为输出流都实现了flushble接口,都可以调用flush()方法;程序员用完输出流之后先刷新flush()通道,将剩余的数强制全部写完,然后再关闭close()

2.流的使用步骤

a. 读取文件/ 输入文件

  1. 创建文件字节输入流对象FileInputStream
  2. 处理编译时异常
  3. 关闭输入流
  4. 读取数据 流对象. read(),一次读取一个字节,返回的是int类型的数据对应的ascll码;
  5. 输入 流对象. read(bytes);一次读取,如果文件中的数据够用,就按照bytes的长度读取,如果文件中的数据不够用,就将剩下的数据全部读取,返回的是每次读取到的新的数据的个数

b. 写入文件/输出

  1. 创建FileOutputStream 文件字节输入流对象
  2. 处理编译时异常
  3. 关闭输入流然后在写完刷新输出流
  4. 将程序中的数据写入到对应的硬盘中,输出流对象.write(数据对应的ascll码),一次写一个字节数据

二、相对路径

1. 绝对路径不用多说,就是文件对应电脑磁盘的位置,比如:

D:\\桌面\\日期\\第七周\\四十一天\\src\\斗罗大陆54.txt;           // 注意这里是//转义字符
D:/桌面/日期/第七周/四十一天/src/斗罗大陆54.txt;           // 或者将// 换成 \ 也可以

2. 相对路径

两种方式:

  1. 在idea中新建一个project ,相对路径就是从src开始的:

在这里插入图片描述

  1. 在idea中新建一个Module,相对路径就是从Module名开始的,比如新建一个codess模块,查找笔记.txt 文件 :

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到