加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

文件操作

发布时间:2020-12-15 07:27:12 所属栏目:Java 来源:网络整理
导读:目录 文件操作 文件筛选 File筛选 筛选目录下的文件和文件夹 IO流的分类 按方向分类 输入流 输出流 按数据类型分类 文件IO流操作(文件流) 字节流 文件输出流 文件的复制 作业: 文件操作 文件 持久化的保存数据 File操作 java.io包 File类(包含文件和目录)

目录

  • 文件操作
  • 文件筛选
    • File筛选
      • 筛选目录下的文件和文件夹
  • IO流的分类
    • 按方向分类
      • 输入流
      • 输出流
    • 按数据类型分类
  • 文件IO流操作(文件流)
    • 字节流
      • 文件输出流
      • 文件的复制
    • 作业:

文件操作

  • 文件
    持久化的保存数据

    File操作

    java.io包
    File类(包含文件和目录)

    创建方法:

    new File("文件的绝对路径")

    常用方法:

  • boolean exists() 文件是否存在
  • boolean isFile() 是否是文件
  • boolean createNewFile() 创建新文件
  • boolean mkdir() 创建目录
  • boolean mkdirs() 创建多级目录
  • String getAbsolutePath() 获得绝对路径
  • boolean delete() 删除文件或空目录
  • long length() 文件长度
  • String getName() 获得文件名

文件筛选

File筛选

筛选目录下的文件和文件夹

  • File[] listFiles() 返回所有文件和目录
  • File[] listFile(FilenameFilter filter) 通过文件名筛选
    • FilenameFilter接口
      • boolean accept(File dir,String name)
        可以通过文件名称筛选,true通过,false过滤掉
  • File[] listFile(FileFilter filter) 通过文件各种属性筛选
    • FileFilter接口
      • boolean accept(File pathname)
        通过文件的各种属性筛选

IO流的分类

数据可以以流的形式进行点对点的传输,类似于水流

按方向分类

输入流

从磁盘文件或网络流向Java程序。用于读取数据。

输出流

从Java程序流向磁盘文件或网络。用于保存(写入)数据。

按数据类型分类

  • 字节流,以byte字节为最小单位进行处理,适合于处理二进制文件(exe图片视频音频等)
  • 字符流,以char字符为最小单位进行处理,适合于处理文本文件(txthtmljavajscss等)

文件IO流操作(文件流)

字节流

  • InputStream 是所有字节输入流的父类
  • OutputStream 是所有字节输出流的父类

    文件输入流

    FileInputStream

    创建方法:

  • new FileInputStream(File file); 以文件创建
  • new FileInputStream(String path); 以文件路径字符串创建

    操作方法:

  • int read(byte[] buffer); buffer是作为缓冲的字节数组,每次读取时会将数据存入该数组。 返回值int,是每次读取的数据的长度,如果数据读完了,返回-1
  • void close() 关闭流

读取文件的过程

  1. 创建文件输入流
  2. 创建字节数组
  3. 循环调用输入流的read方法
  4. 将读取到字节数组的数据进行处理
  5. 关闭输入流

注意关闭流,需要写在finally中,保证一定能执行

jdk1.7 推出了 try with resource 语法
try(创建需要关闭的对象){
...
}catch(...){
...
}
能够自动关闭try(...)中创建的对象
适用的对象必须实现AutoClosable自动关闭接口

文件输出流

FileOutputStream

创建方法:

- new FileOutputStream(File file)
- new FileOutputStream(String path)
- new FileOutputStream(File file,boolean append)
- new FileOutputStream(String path,boolean append)
- append参数表示追加模式,默认情况下为false,如果为false会将原来的文件清空,如果为true,不会清空原来文件,在文件末尾追加数据

常用方法:

  • void write(byte[] buffer)
  • void write(byte[] buffer,int offset,int length)
    • buffer 字节数组保存写入数据
    • offset 从数组的哪个位置开始写入
    • length 从数组写入数据的长度
  • void close()

文件的复制

作业:

  1. 读取任意一个文本文件的数据
  2. 向一个文件中写入一首诗
  3. 实现将一个文件复制到另一个文件中
  4. 搜索一个目录中的所有txt文件,将内容输出出来
  5. 搜索一个目录中所有jpg文件(包含子目录),将所有jpg文件复制到C:images目录中

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读