2.4.3 文件操作章 文件系统操作--File概述

本文介绍了Java中的File对象,用于描述文件或目录。File对象主要用于执行文件或目录的管理操作,如创建、删除和重命名,但不涉及文件内容的读写。文章详细讲解了File对象的概念、属性、构造方法及常用方法的应用示例。
摘要由CSDN通过智能技术生成

概念

  • 通过file对象来描述一个具体的文件,file对象可以对应到一个真实的存在的对象,也可以对应到一个不存在的对象
  • file对象 可以是个文件也可以是个目录
  • file创建出来的对象,只对文件本身做操作,比如移动,删除,重命名等,但是其不关信文件内部的写入和读出

属性

修饰符及类型属性说明
static StringpathSeparator依赖于系统的路径分隔符,String 类型的表示
static charpathSeparator依赖于系统的路径分隔符,char 类型的表示

构造方法

签名说明
File(File parent, String child)根据父目录 + 孩子文件路径,创建一个新的 File 实例
File(String pathname)根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者 相对路径
File(String pathname)根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用 路径表示

方法

修饰符及返回 值类型方法签名说明
StringgetParent()返回 File 对象的父目录文件路径
StringgetName()返回 FIle 对象的纯文件名称
StringgetPath()返回 File 对象的文件路径(看你构造时传入的参数)
StringgetAbsolutePath()返回 File 对象的绝对路径
StringgetCanonicalPath()返回 File 对象的修饰过的绝对路径(比如工作目录和相对路径拼接出现./ 这样原地他不得情况就会删除合并)
booleanexists()判断 File 对象描述的文件是否真实存在
booleanisDirectory()判断 File 对象代表的文件是否是一个目录
booleancreateNewFile()根据 File 对象,自动创建一个空文件。成功创建后返 回 true
booleandelete()根据 File 对象,删除该文件。成功删除后返回 true
voiddeleteOnExit()根据 File 对象,标注文件将被删除,删除动作会到 JVM 运行结束(程序结束)时才会进行
String[]list()返回 File 对象代表的目录下的所有文件名
File[]listFiles()返回 File 对象代表的目录下的所有文件,以 File 对象 表示
booleanmkdir()创建 File 对象代表的目录
booleanmkdirs()创建 File 对象代表的目录,如果必要,会创建中间目 录
booleanrenameTo(File dest)进行文件改名,也可以视为我们平时的剪切、粘贴操 作
booleancanRead()判断用户是否对文件有可读权限
booleancanWrite()判断用户是否对文件有可写权限

具体方法示例

方法测试

//File使用
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //windows 支持\和/  ,linux 只能 /, windows 使用\ 一定要\\ (转义了)
         //File file = new File("D:/test.txt"); //绝对路径
        File file = new File("./test.txt"); //相对路径

        System.out.println(file.getParent());
        System.out.println(file.getName());
        System.out.println(file.getPath());
        //把工作目录和相对路径拼接,在idea上运行一个程序,工作目录就是项目所在的目录中
        //在命令行中运行一个程序,工作目录就是命令行当前的目录
        //如果你的程序运行在tomcat 中,工作目录就是tomcat下的 bin 目录
        System.out.println(file.getAbsolutePath());
        System.out.println(file.getCanonicalFile());

    }
}

创建文件

//创建文件
public class Demo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("./test.txt"); //相对路径

        //创建文件
        //可能抛出异常,比如你当前写入的路径是个非法的路径,比如创建的这个文件,对于所在的目录没有权限操作
        file.createNewFile();

        System.out.println(file.isFile());
        System.out.println(file.exists());
        System.out.println(file.isDirectory());


    }
}

删除文件

//文件删除
public class Demo3 {
    public static void main(String[] args) throws InterruptedException {
        File file = new File("./test.txt"); //相对路径

        //立即删除
        //file.delete();

        //等到程序结束才删除
        //有些时候希望在程序运行的时候创建临时文件,出程序的时候销毁
        //像office 这些软件,都会产生临时文件的功能,这个临时文件就会自动保存你当前编辑的中间状态,用于pc异常退出的恢复策略
        file.deleteOnExit();
        Thread.sleep(5000);
    }
}

创建目录

//创建目录
public class Demo4 {
    public static void main(String[] args) {
        //File file = new File("./Testdir"); //相对路径
        //mk == make  dir == directory
        //mkdir一次只能创建一层目录
        //file.mkdir();


        //mkdirs可以一次创建多级目录
        File file = new File("./Testdir/111/222/333"); //相对路径
        file.mkdirs();

    }
}

文件重命名

//文件重命名
public class Demo5 {
    public static void main(String[] args) throws IOException, InterruptedException {

        //重名名+原地移动
//        File file = new File("./test.txt"); //相对路径
//        File file2 = new File("./test2.txt"); //相对路径
//        file.createNewFile();
//        file.renameTo(file2);


        //重命名+移动位置
        File file = new File("./test.txt"); //相对路径
        File file2 = new File("./src/test2.txt"); //相对路径
        file.renameTo(file2);//移动到src文件中,如果不改名字则是单纯的移动

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Ap0stoL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值