Java中File类详解

目录

一、File类

1、概述

2、常用方法

3、注意

4、重点记住这三个单词

二、File类的静态成员变量

1、static String pathSeparator

2、static String separator

3、代码

三、绝对路径和相对路径

1、绝对路径

2、相对路径

3、注意

四、File类的构造方法

1、File(String pathname)

概述:

参数说明:

代码演示:

2、File(String parent, String child)

概述:

参数说明:

代码演示:

3、File(File parent, String child)

概述:

参数说明:

代码演示:

五、File类获取的相关方法

代码演示:

六、File类判断的相关方法

代码演示:

七、File类创建删除的相关方法

代码演示:

八、目录的遍历

代码演示:

运行结果:


一、File类

1、概述

①文件和目录路径名的抽象表示形式;

②主要用于文件和目录的创建,查找,删除等操作;

2、常用方法

对文件/文件夹进行创建、删除、获取、判断是否存在、遍历、获取文件大小等;

3、注意

File类是一个与系统无关的类,任何操作系统都可以使用这个类的方法;

4、重点记住这三个单词

file:文件

directory:文件夹

path:路径

 

二、File类的静态成员变量

1、static String pathSeparator

与系统有关的路径分隔符,为了方便,它被表示为一个字符串。

2、static String separator

与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串

3、代码

        //备注:名称分隔符和路径分隔符在不同的系统中是不一样的
        //名称分隔符:Windows系统是\,Linux系统是/
        //路径分隔符:Windows系统是;,Linux系统是:
        System.out.println(File.separator);//\
        System.out.println(File.pathSeparator);//;

 

三、绝对路径和相对路径

1、绝对路径

以盘符开始的路径,是一个完整的路径;

2、相对路径

相对于当前项目的根目录,简化后的路径;

3、注意

①路径不区分大小写;

②路径中的名称分隔符在Windows系统中用\,要用转义字符,即\\;

 

四、File类的构造方法

1、File(String pathname)

概述:

通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例;

参数说明:

①String pathname是文件或文件夹的路径;

②可以是相对路径,也可以是绝对路径;

③可以是已存在的,也可以是不存在的;

代码演示:

package study.file;

import java.io.File;

public class Test {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Administrator\\Desktop\\a.txt");
        System.out.println(file);//C:\Users\Administrator\Desktop\a.txt
    }
}

2、File(String parent, String child)

概述:

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

参数说明:

String parent:父路径;

String child:子路径;

好处是:父路径和子路径子路径可以单独写,使用起来非常灵活,父路径和子路径可以灵活变化;

代码演示:

package study.file;

import java.io.File;

public class Test {
    public static void main(String[] args) {
        String parent = "C:\\Users\\Administrator\\Desktop\\";
        String child = "a.txt";
        File file = new File(parent,child);
        System.out.println(file);//C:\Users\Administrator\Desktop\a.txt
    }
}

3、File(File parent, String child)

概述:

根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例;

参数说明:

File parent:父路径;

String child:子路径;

好处是:

父路径和子路径子路径可以单独写,使用起来非常灵活,父路径和子路径可以灵活变化;

父路径是File类型,可以使用File的方法对路径进行一些操作,再使用路径创建对象;

代码演示:

package study.file;

import java.io.File;

public class Test {
    public static void main(String[] args) {
        String parent = "C:\\Users\\Administrator\\Desktop\\";
        String child = "a.txt";
        File file = new File(parent);
        File file1 = new File(file,child);
        System.out.println(file1);//C:\Users\Administrator\Desktop\a.txt
    }
}

 

五、File类获取的相关方法

代码演示:

package study.file;

import java.io.File;

public class Test {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Administrator\\Desktop\\Test\\a.txt");
        //1、获取此File的绝对路径字符串
        System.out.println(file.getAbsolutePath());//C:\Users\Administrator\Desktop\Test\a.txt
        //2、获取此File的路径字符串
        System.out.println(file.getPath());//C:\Users\Administrator\Desktop\Test\a.txt
        //3、返回由此File表示的文件或目录(文件夹)的名称
        System.out.println(file.getName());//a.txt
        //4、返回此File表示文件的长度,不能获取文件夹的大小,若文件不存在返回0
        System.out.println(file.length());//10(字节)
    }
}

 

六、File类判断的相关方法

代码演示:

package study.file;

import java.io.File;

public class Test {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Administrator\\Desktop\\Test\\a.txt");
        //1、判断此File是否实际存在
        System.out.println(file.exists());//true
        //注意:判断是否为文件或目录的方法使用的前提是File实际存在,否则都返回false
        //2、判断此File是否为目录
        System.out.println(file.isDirectory());//false
        //3、判断此File是否为文件
        System.out.println(file.isFile());//true
    }
}

 

七、File类创建删除的相关方法

代码演示:

package study.file;

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        File file = new File("C:\\Users\\Administrator\\Desktop\\Test\\b.txt");
        //1、当且仅当具有该名称的文件不存在时,创建一个新的空文件
        if(file.createNewFile()){
            System.out.println("文件创建成功!");
        }
        //2、删除由此File表示的文件或者目录
        if(file.delete()){
            System.out.println("文件或目录删除成功!");
        }
        //3、创建由此File表示的目录
        File file1 = new File("C:\\Users\\Administrator\\Desktop\\Test02");
        if(file1.mkdir()){
            System.out.println("目录已创建!");
        }
        //4、创建由此File表示的目录,包括必需但不存在的父目录
        File file2 = new File("C:\\Users\\Administrator\\Desktop\\Test01\\a");
        if(file2.mkdirs()){
            System.out.println("所有目录已创建!");
        }
    }
}

 

八、目录的遍历

代码演示:

package study.file;

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        File file = new File("C:\\Users\\Administrator\\Desktop\\Test");
        //1、返回一个字符串数组,表示该File目录中所有子文件或目录
        String[] strings = file.list();
        for (String string : strings) {
            System.out.println(string);
        }
        System.out.println("================");
        //2、返回一个文件串数组,表示该File目录中所有子文件或目录
        File[] files = file.listFiles();
        for (File file1 : files) {
            System.out.println(file1);
        }

    }
}

运行结果:

a.txt
b.txt
test01
test02
================
C:\Users\Administrator\Desktop\Test\a.txt
C:\Users\Administrator\Desktop\Test\b.txt
C:\Users\Administrator\Desktop\Test\test01
C:\Users\Administrator\Desktop\Test\test02

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值