Java学习IO流Day01

swz20020720 / 2023-08-21 / 原文

io

一、File

2.1 FIle概述

  1. File用来表示文件系统中的一个文件或者目录
  2. java.io包下

2.2 方法

  1. 构造方法

    • File(String pathname) : 通过指定路径名称创建一个新的FIle实例

      File file = new File("D:\\demo.txt");
      
    • File(File parent, String child) :根据父级目录对象和子文件名称获取FIle对象

       File parentPath = new File("D:\\");
       File file = new File(parentPath,"demo.txt");
      
    • File(String parent, String child): 根据父级路径和子文件名获取FIle对象

      File file = new File("D:\\","demo.txt");
      
  2. 常用方法

    • 获取文件的目录和属性

      • getName() 获取文件名

      • exists() 文件是否存在

      • getParent() 获取文件的父路径

      • getAbsoluteFile() 获取文件的绝对路径

      • lastModified() 获取文件左后修改时间(毫秒值)

      • isHidden() 文件是否隐藏

      • canRead() 文件是否可读

      • canWrite() 文件是否可写

      • length() 获取文件字节量

    • 文件或目录的创建和删除

      • createNewFile() 创建文件,要求指定的目录必须存在
      • mkdir() 创建目录(只能创建单级目录)
      • mkdirs() 创建多级目录
      • delete() 删除文件,删除目录(删除目录只能删除空目录)
    • 获取一个目录中的所有子项

      • listFiles() 返回一个目录下的所有子项
      • listFilters(FileFilter filter) 添加一个过滤器,按照指定要求返回一个目录下的所有子项,如找D盘下所有以“.png”结尾的文件
    • 其他方法

      • isDirectory() 判断file是否是一个目录
      • isFile() 判断file是否是一个文件
  3. 获取文件对象的路径分隔符

    • File.separator;

      File file = new File("D:" + File.separator + "a" + File.separator + "b" + File.separator + "c.txt");
      File file = new File("." + File.separator + "demo.txt");
      
      
    • Linux系统上路径分隔符是/, window上系统上路径分隔符是\

2.3字符串转换为字节数组的方法

  • byte[] getBytes():按照系统默认的字符集将字符串转换为字节数组

    byte[] bytes = str.getBytes();
    
  • byte[] getBytes(CharSet charset):按照指定字符集将字符串转换为字节数组

    byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
    
  1. 文件流追加写
    FileOutputStream(File file,boolean appena)
    FileOutputStream(String name, boolean append)

    如果创建时传入第二个参数,且值为true,则文件流为追加写模式,

    FileOutputStream fos = new FileOutputStream("./file-App/fos.txt",true);