Java教程

Java File类

本文主要是介绍Java File类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

File类

引入

  • File类的一个对象,代表一个文件或一个文件夹

  • File类声明在java.io包下

  • File类:文件/文件目录的创建、删除、重命名、获取文件的各种信息

    IO 流 :文件的读写操作,File类的对象作为参数传入到流的构造器中,指明读写“端点”。

  • 在这里插入图片描述

一、如何创建一个File对象(三种构造器)

  1. 指明绝对路径 / 相对路径

    File file = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file\\C.txt");
    File file1 = new File("hello.txt");
    
  2. 指明上一层目录,新建的一个文件 / 文件目录

    File file2 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file", "hi.txt");
            
    
  3. 指明一个文件,在该文件下新建一个文件 / 文件目录

    File file3 = new File(file, "Java.txt");
    

二、获取文件信息的方法

  1. 获得文件的绝对路径:包含盘符在内的文件目录路径

    	// F:\Java\规范代码1.0\IO流\hello.txt 
    	System.out.println(file1.getAbsoluteFile());
    
  2. 获取文件的相对路径

    	// hello.txt
        System.out.println(file1.getPath());
    
  3. 获取文件的名字

     	// C.txt
        System.out.println(file.getName());
    
  4. 获取文件的上一次目录

    	// F:\Java\规范代码1.0\IO流\src\file
        System.out.println(file.getParent());
    
  5. 获取文件的长度

    	// 0
        System.out.println(file.length());
    
  6. 获取该文件创建的时间,返回的是毫秒数

     	// 1638179999654
        long time = file4.lastModified();
        System.out.println(time);
    
        // Mon Nov 29 17:59:59 CST 2021    
        Date date = new Date(time);
        System.out.println(date);     
    
  7. 获取指定目录下所有文件或文件夹的名字的数组

     /*
     	.idea
    	IO流
    	jdbc.properties
    	lib
    	out
    	src
    	泛型
    	规范代码1.0.iml
    	集合
     */ 
    	String[] list1 = file4.list();
        for (String str : list1) {
            System.out.println(str);
        }
    
  8. 获取指定目录下所有文件或文件夹的绝对路径的数组

    /*
    	F:\Java\规范代码1.0\.idea
    	F:\Java\规范代码1.0\IO流
    	F:\Java\规范代码1.0\jdbc.properties
    	F:\Java\规范代码1.0\lib
    	F:\Java\规范代码1.0\out
    	F:\Java\规范代码1.0\src
    	F:\Java\规范代码1.0\泛型
    	F:\Java\规范代码1.0\规范代码1.0.iml
    	F:\Java\规范代码1.0\集合
    */	
    	File[] files = file4.listFiles();
        for (File fil : files) {
            System.out.println(fil);
        }        
    

三、重命名的功能

  1. 要保证重命名成功,需要file1在外存中真实存在,file2在外存中不存在

    	File file1 = new File("HELLO.txt");    
        File file2 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file\\hi.txt");
    
  2. renameTo(File dest)

    	// true
    	boolean b = file1.renameTo(file2);
        System.out.println(b);
    

四、判断功能

  1. 判断是否为文件目录

    	System.out.println(file.isFile());
    
  2. 判断是否为文件

    	System.out.println(file.isDirectory());        
    
  3. 判断是否存在

    	System.out.println(file.exists());        
    
  4. 判断是否可读

    	System.out.println(file.canRead());       
    
  5. 判读是否可写

    	 System.out.println(file.canWrite());        
    
  6. 判断是否被隐藏

    	System.out.println(file.isHidden());
    

    注:若文件存在,则可读可写;若文件不存在,则全为false

五、Flie类的创建及删除

  1. 创建文件,若同名文件存在,则不创建,返回false

    	File file = new File("hi.txt");
        if (!file.exists()) {
            System.out.println(file.createNewFile());
        } else {
            System.out.println("创建失败");
        }
    
  2. 创建文件目录,若文件目录存在,不创建;若上层目录不存在,返回false

    	File file1 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file1\\v");
        boolean mkdirs = file1.mkdirs();
    
  3. 创建文件目录,若文件目录存在,不创建;若上层目录不存在,则一并创建

    	File file2 = new File("F:\\Java\\规范代码1.0\\IO流\\src\\file2\\j");
        boolean mkdirs = file1.mkdirs();
    
  4. delete()删除文件

    删除对象的文件目录中,不能包含文件或文件目录,否则删除不成功

    	file.delete();
    

补充:路径分隔符

  1. Window 或 Dos : \
  2. UNIX : /
这篇关于Java File类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!