【JAVA】#详细介绍!!! 文件操作之File对象(1)!

本文内容不涉及文件内容操作,主要是对指定文件元信息的获取,以及通过java代码如何创建一个文件或者删除文件

目录

文件操作的File对象

 File对象的基本操作方法

得到文件(夹)对象的信息元

1.getParent

2. getName

3.getPath

 4. getAbsolutePath和getCanonicalPath

文件和目录的创建

文件的创建:createNewFile

目录的创建:mkdir和mkdirs

文件(夹)的删除

直接删除:delete

程序执行结束再删除:deleteOnExit



 


文件操作的File对象

Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。

注意:有 File 对象,并不代表真实存在该文件

构造一个File对象,参数为String类型(文件(夹)的路径),可以同时构造一个父路径和一个孩子路径或者文件

这个路径可以是绝对路径也可以是相对路径(相对路径以当前项目的文件夹路径作为参照物)

使用File类时记得调包(ava.io.File)

 

File file = new File("路径")

注意:当前构建的文件对象不一定真实存在

public class Test {
    public static void main(String[] args) throws IOException {
        File file = new File("test.txt");
        System.out.println(file.exists());
    }
}

结果:

例如这里用相对路径当前项目文件夹中构造了一个test.txt文件的对象file

这里调用exists方法查看当前对象是否真实存在,结果为false

实际上当前java项目的文件夹中确实没有这个test.txt文件

 File对象的基本操作方法

 

得到文件(夹)对象的信息元

1.getParent方法

获得file对象的父目录文件路径:

分两种情况:

1. 如果是绝对地址创建的对象,那么直接调用getParent方法可以正常返回父目录的文件路径

2.如果是相对地址创建的对象,直接调用则可以会返回错误的文件路径,因为getParent是以你构建的对象的参数做为返回依据的,例如相对路径为 ../test.txt ,则返回的getParent结果则为 .. 而不是真正的父目录,甚至如果相对路径为 test.txt ,前面没有路径作为参数了,返回的getParent结果会为null;此时需要借助getCanonicalFile方法,以修饰后的绝对路径进行路径转换再调用getParent得到父目录

 代码:

File file = new File("../text.txt");
System.out.println(file.getCanonicalFile().getParent());

2. getName

这个没什么多说的,就是返回FIle对象的纯文件(夹)名称

例如:test.txt这个文件对象不管是绝对路径还是相对路径创建的对象,那么返回的就是test.txt,getName针对的是最后具体的文件

3.getPath

返回当前文件对象的路径

实际就是返回这个对象创建时构造的路径参数

如果是绝对地址构建的对象,返回的绝对地址,如果是相对地址构建的对象,返回的就是相对地址

代码:

File file = new File("../test.txt");
System.out.println(file.getPath());

 4. getAbsolutePath和getCanonicalPath

都是以绝对路径的形式返回对象的路径地址

区别:getAbsolutePath是不经过修饰的绝对地址,会把相对路径的地址完整包含进去,组成一个未修饰的路径

getCanonicalPath是经过修饰的绝对地址,中间绝对相对路径就自动进行转化

代码:

File file = new File("../test.txt");
System.out.println(file.getAbsolutePath());
System.out.println(file.getCanonicalPath());

getABsolutePath把完整的相对路径不经过缩减直接把连接符都加上去了组成绝对路径 

文件和目录的创建

文件的创建:createNewFile

使用createNewFile

可以先用exists方法先判断这个文件是否存在,避免在不知情的时创建失败

代码:

File file = new File("test.txt");
if(!file.exists()){
    System.out.println(file.createNewFile()); // 第一次创建
}
System.out.println(file.createNewFile()); //第二次创建

  

由于我的项目目录中没有test.txt文件,所以exists方法判断的时false,

此时第一次创建的结果未true,已经创建完成,所以第二次创建的结果未false

目录的创建:mkdir和mkdirs

 

mkdir只能一次性创建一个目录,mkdirs可以一次性创建多个目录

File file = new File("test");
System.out.println(file.mkdir());  //在当前项目路径下创建一个test的目录

File file2 = new File("test1/test2");
System.out.println(file2.mkdirs());  //在当前项目路径下创建一个test1的目录,并在其中创建一个test2的子目录

 

 

文件(夹)的删除

直接删除:delete

 

使用delete方法,就能对路径对象的文件进行删除

例子:删除前面创建的test.txt文件

File file = new File("test.txt");
System.out.println(file.delete());

 注意:目录也是相同方式操作,只不过要注意的是,目录需要先删除里层的目录,才能删掉外层的目录

程序执行结束再删除:deleteOnExit

效果和前面的delete相似,只不过delete是执行到代码就直接删除对象文件,而deleteOnExit是把整个代码执行完才删除对象文件


本篇文章介绍到这里就差不多了,本篇文章并不涉及到文件内容的操作,只是介绍了基本的文件对象的构造和文件的创建和删除,以及介绍了一些常用的File方法


 

 

 

 

 

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值