【笔记:Java IO流】

常用文件操作

创建文件的相关构造器

  • new File(String pathname) //根据路径构建一个File对象
  • new File(File parent, String child) //根据父录文件 + 子路径构建
  • new File(String parent, String child) //根据父目录 + 子路径构建

方法:**createNewFile()**创建新文件

获取文件的相关信息的常用方法

  • getName //获取文件名
  • getAbsolutePath //获取绝对路径
  • getParent //父级目录
  • length //文件大小(字节)
  • exists //是否存在这个文件
  • isFile //是否为文件
  • isDirectory //是否为目录(在Java编程中,目录也被当做文件)

目录的操作和文件删除

  • mkdir创建一级目录
  • mkdirs创建多级目录
  • delete删除空目录或文件

流(stream)的分类

  • 按操作数据单位的不同分为:字节流(8 bit),字符流(按字符)
  • 按数据的流向不同分为:输入流、输出流
  • 按流的角色不同分为:字节流、处理流/包装流
(抽象基类)字节流字符流
输入流InputStreamReader
输出流OutputStreamWriter

Java的IO流共涉及40多个类,实际上非常规则,都是从如上4个抽象基类派生的

由着4个类派生的子类名称都是以其父类名作为子类名后缀

IO流体系常用的类

InputStream抽象类是所有类字节输入流的超类

InputStream常用的子类

  • FileInputStream:文件输入流

image.png

  • BufferedInputStream:缓冲字节输入流
  • ObjectInputStream:对象字节输入流

OutputStream常用子类

  • FileOutputStream:文件输出流

image.png

FileReader和FileWriter

  • FileReaderFileWriter都是字符流,按照字符来操作IO

  • FileReader相关方法:

    • new FileReader(File/String)
    • read:每次读取单个字符,返回该字符,如果到文件末尾返回-1
    • read(char[]):批量读取多个字符到数组,返回读取到的字符数,如果到文件末尾返回-1

    相关API:

    • new String(char[]):将char[]转换为String
    • new String(char[],off,len):将char[]指定部分转换为String
  • FileWriter相关方法:

    • new FileWriter(File/Writer):覆盖模式,相当于流的指针在首端
    • new FileWriter(File/Writer,true):追加模式,相当于流的指针在尾端
    • write(int):写入单个字符
    • write(char[]):写入指定数组
    • write(char[],off,len):写入指定数组的指定部分
    • write(String):写入整个字符串
    • write(String,off,len):写入字符串的指定部分

    相关API:

    • String类:toCharArray 将String转化为char[]
  • 注意:FileWriter使用后,必须要关闭(close)或刷新(flush),否则写入不到指定文件

节点流和处理流

节点流可以从一个特定的数据源读写数据,如FileReader、FileWriter

处理流(也叫包装流)是“连接”在已存在的的流(节点流或处理流)之上,为程序提供更为强大的读写功能,如BufferedReader、BufferedWriter

字节流字符流一览

image.png

节点流与处理流的区别与联系

  • 节点流是底层流/低级流,直接跟数据源相接
  • 处理流包装字节流,既可以消除不同字节流的实现差异,也可以提供更方便的方法来完成输入输出
  • 处理流对节点流进行了包装,使用了修饰器设计模式,不会直接与数据源相连

处理流的功能主要体现在以下两个方面:

  • 性能的提高:主要以增加缓冲的方式来提高输入输出的效率
  • 操作的便捷:处理流可提供一系列便捷的方法来一次输入大批量的数据,使用更加灵活方便

Properties类

  • HashTable下的一个子类

  • 专门用于读写配置文件的集合类

    • 配置文件格式:

      键=值

      键=值

  • 注意:键值对不需要有空格,值不需要用引号,默认类型为String

常用方法:

  • load:加载配置文件的键值对到Properties对象中
  • list:将数据显示到指定设备
  • getProperty(key):根据键获取值
  • setProperty(key,value):设置键值对到Properties对象
  • sotre:将Properties中的键值对存储到配置文件,在idea中,保存信息到配置文件,如果含有中文,会存储为Unicode码

Unicode码查询工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值