java复习第7天---7.3---IO流---File类

java复习第7天---7.3---IO流---File类


目录




内容

1、File

1.1、概述

  File为java对于文件和目录路径的抽象表示,主要用于文件和目录的创建,删除,遍历等待操作。

  • file : 文件
  • directory:目录
  • path:路径

1.2、静态成员

  • 静态成员变量
修饰符 数据类型 变量名 描述
static String pathSeparator 路径与路径间的分隔符,系统相关;Windows:’;’ ,Linux: ‘:’
static String separator 路径内分隔符,系统相关; Windows:’’,Linux: ‘/’
  • 示例1.2-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFile1 {
      	public static void main(String[] args) {
      		System.out.println(File.pathSeparator);
      		System.out.println(File.separator);
      	}
      }
      测试结果:
      ;
      \
    

1.3、构造方法

  • 常用构造方法
修饰符 方法名 参数 描述
public File String pathname 根据给定的路径创建File对象
public File String parent, String child 根据给定的父路径,子路径创建File对象
public File File parent, String child 根据给定的父File,子路径创建File对象
  • 示例1.3-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFileConstructor1 {
      	public static void main(String[] args) {
      		String parent = "F:\\train\\resource\\06-File类与IO流";
      		String child = "1_8_1_04_File类的构造方法.avi";
    
      		File file = new File(parent);
      		System.out.println(file);
    
      		File file1 = new File(parent, child);
      		File file2 = new File(file, child);
    
      		System.out.println(file1);
      		System.out.println(file2);
    
      	}
      }
      测试结果:
      F:\train\resource\06-File类与IO流
      F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi
      F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi
    

1.4、常用功能

1.4.1、查询

  • 常用方法:
修饰符 返回值类型 方法名 参数列表 描述
public String getAbsolutePath 获取绝对路径
public String getPath 返回此抽象路径名称的字符串表示
public String getName 返回此抽象路径名称表示的文件名或者目录名
public String getParent 返回此抽象路径的父路径
public long getLength 返回文件的长度
  • 示例1.4.1-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFileQuery {
      	public static void main(String[] args) {
      		String str = "F:\\train\\resource\\06-File类与IO流\\1_8_1_04_File类的构造方法.avi";
      		File file = new File(str);
    
      		System.out.println(file.getAbsolutePath());
      		System.out.println(file.getParent());
      		System.out.println(file.getPath());
      		System.out.println(file.getName());
      		System.out.println(file.length());
      	}
      }
      测试结果:
      F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi
      F:\train\resource\06-File类与IO流
      F:\train\resource\06-File类与IO流\1_8_1_04_File类的构造方法.avi
      1_8_1_04_File类的构造方法.avi
      0
    

1.4.2、判断

  • 常用方法
修饰符 返回值类型 方法名 参数列表 描述
public boolean exists 路径是否存在
public boolean isDirectory 是不是目录
public boolean isFile 是不是文件
  • 示例1.4.2-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFileJuge {
      	public static void main(String[] args) {
      		String parent = "F:\\train\\note\\复习day07";
      		String child = "java复习第7天---7.2----Lambda表达式.md";
    
      		File file = new File(parent, child);
    
      		System.out.println(file.exists());
      		System.out.println(file.isDirectory());
      		System.out.println(file.isFile());
      	}
      }
      测试结果:
      true
      false
      true
    

1.4.3、创建删除

  • 常用方法:
修饰符 返回值类型 方法名 参数列表 描述
public boolean createNewFile 当且仅当该文件不存在时,创建该文件
public boolean delete 删除此抽象路径表示的文件或者目录
public boolean mkdir 创建此抽象路径名命名的目录
public boolean mkdirs 创建此抽象路径名命名的目录,包含任何必需但是不存在的目录
  • 示例1.4.3-1:

      F:\test>dir
       驱动器 F 中的卷是 data
       卷的序列号是 0BF6-07BE
    
       F:\test 的目录
    
      2020/05/27  16:02    <DIR>          .
      2020/05/27  16:02    <DIR>          ..
      			   0 个文件              0 字节
      			   2 个目录 132,684,869,632 可用字节
      			   
      package io.file;
    
      import java.io.File;
      import java.io.IOException;
    
      public class TestFileNewAndDelete {
      	public static void main(String[] args) throws IOException {
      		String parent = "f:\\test";
      		String child1 = "a.txt";
      		String child2 = "b\\c\\d";
      		String child3 = "hello";		
    
      		new File(parent, child1).createNewFile();
      		new File(parent, child2).mkdirs();
      		new File(parent, child3).mkdir();
    
      	}
      }
    
      测试结果:
      F:\test>tree
      卷 data 的文件夹 PATH 列表
      卷序列号为 0BF6-07BE
      F:.
      ├─b
      │  └─c
      │      └─d
      └─hello
    

1.4.4、绝对路径和相对路径

  • 绝对路径:windows从盘符开始,到当前文件或者目录的路径表示;linux系统从跟/开始。

  • 相对路径:确定相对的位置,以此位置为基础到当前文件或者目录的路径

  • 示例1.4.4-1:

    • f:\a\b\c\d.txt:表示绝对路径
    • 相对f:\a\b路径,c\d.txt为相对路径

1.4.5、File类遍历

  • 遍历方法
修饰符 返回值类型 方法名 参数列表 描述
public String[] list 返回此抽象路径下目录和文件
public String[] list FilenameFilter filter 返回此抽象路径满足过滤器的目录和文件
public File[] listFiles 返回此抽象路径的下的目录和文件的File对象
public File[] listFiles FileFilter filter 返回此抽象路径满足过滤器的目录和文件File对象
  • 过滤器类#3部分在讲解

  • 示例1.4.5-1:遍历F:\test目录

      package io.file;
    
      import java.io.File;
    
      public class TestFileList1 {
      	public static void main(String[] args) {
      		String parent = "f:\\test";
    
      		File file = new File(parent);
    
      		if(file.isDirectory()) {
      			String[] strs = file.list();
      			for(String str: strs) {
      				System.out.println(str);
      			}
      		}
      	}
      }
      测试结果:
      a.txt
      b
      b.txt
      c.java
      d.bmp
      hello
      src
    

后记

本项目为参考某马视频开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785

前端项目源代码地址:https://gitee.com/gaogzhen/vue-leyou
    后端JAVA源代码地址:https://gitee.com/gaogzhen/JAVA

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章