当前位置: 首页 > article >正文

【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方法


 

 

 

 

 


http://www.kler.cn/a/16220.html

相关文章:

  • 无人机应用场景:石油管道巡检技术详解
  • A3超级计算机虚拟机,为大型语言模型LLM和AIGC提供强大算力支持
  • 整理iPhone空间:iphone怎么删除相簿
  • linux上海康SDK安装并设置环境变量
  • 【大数据学习 | flume】flume的概述与组件的介绍
  • c++写一个死锁并且自己解锁
  • 从信息泄露到权限后台
  • Java面试题队列
  • Pandoc 从入门到精通,你也可以学会这一个文本转换利器
  • 2的幂次方
  • 微软开源AI修图工具让老照片重现生机
  • Java版本电子招标采购系统源代码—企业战略布局下的采购寻源
  • 网络安全漏洞分析之远程代码执行
  • 长/短 链接/轮询 和websocket
  • python深度强化学习模型的原理、应用!
  • Java 中的包是什么?如何创建和使用包?(八)
  • 第11章 项目人力资源管理
  • HTTP基础知识
  • 【博弈论】【第一章】博弈论导论
  • 跟着杰哥学强化学习:q-learning的一些思考
  • 有仰拍相机和俯拍相机时,俯拍相机中心和吸嘴中心的标定
  • 研究生,但是一直摆烂——想办法解决
  • 数据治理在学术上的发展史以及未来展望
  • 一天吃透Redis面试八股文
  • 【华为OD机试真题】最大N个数与最小N个数的和(C++javapython)100%通过率 超详细代码注释 代码解读
  • 基于AI技术的智能考试系统设计与实现(论文+源码)_kaic