【Java系列】文件操作详解

个人主页:兜里有颗棉花糖
欢迎 点赞 收藏✨ 留言✉ 加关注本文由 兜里有颗棉花糖 原创
收录于专栏【Java系列专栏】【JaveEE学习专栏】
本专栏旨在分享学习JavaEE的一点学习心得,欢迎大家在评论区交流讨论

目录

  • 一、什么是文件
  • 二、Java中操作文件
  • 三、java.io.File类

一、什么是文件

文件是在硬盘上存储数据的一种方式。即数据是在硬盘上进行存储的,但是我们并不会直接去操作硬盘,而是通过文件的方式去访问数据的(操作系统将硬盘上的一些细节进行了封装,可以理解为操作系统通过文件系统来管理硬盘),作为开发者我们只需要了解文件相关的接口即可。

【Java系列】文件操作详解_第1张图片
上图中的NTFS文件系统就是windows上的文件系统,这个文件系统背后一定有固定的格式来组织硬盘上的数据(即规定硬盘上的哪一块哪一块空间存储什么样什么样的数据)。而EXT4是Linux系统上的文件系统。

【Java系列】文件操作详解_第2张图片

不同的文件系统管理硬盘的方式都是类似的,即都是通过目录 - 文件构成了N叉树的这样一个树形结构。

文件系统上的文件分为两大类:文本文件(存储的是字符,用记事本打开能够开懂)和二进制文件(存储的是二进制的数据,用记事本打开不能看懂)。

二、Java中操作文件

Java中通过java.io.File类来对一个文件(包括目录)进行抽象的描述。io即input输入和output输出,要站在CPU的角度去看待输入输出。通过FIle类创建出来的对象既可以对应到一个真实存在的文件,也可以对应到并不真实存在的文件。
【Java系列】文件操作详解_第3张图片

三、java.io.File类

先来看File类的构造方法

【Java系列】文件操作详解_第4张图片

  • File(File parent, String child):根据父目录 + 孩子文件路径,创建一个新的 File 实例。
  • File(String pathname):根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径。此处参数的字符串是一个路径,此路径既可以是绝对路径也可以是相对路径。
  • File(String parent, String child):根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用路径表示。

相关方法如下:

修饰符及返回值类型 方法签名 说明
String getParaent 返回 File 对象的父目录文件路径
String getName 返回 FIle 对象的纯文件名称
String getPath 返回 File 对象的文件路径
String getAbsolutePath() 返回 File 对象的绝对路径
String getCanonicalPath() 返回 File 对象的修饰过的绝对路径
boolean isDirectory() 判断 File 对象代表的文件是否是一个目录
boolean exists() 判断 File 对象描述的文件是否真实存在
boolean isFile() 判断 File 对象代表的文件是否是一个普通文件
boolean createNewFile() 根据File对象,自动创建一个空文件。成功创建后返 true
boolean delete() 根据 File 对象,删除该文件。成功删除后返回 true
String[] list() 返回 File 对象代表的目录下的所有文件名
File[] listFiles() 返回File对象代表的目录下的所有文件,以 File 对象表示
boolean mkdir() 创建File 对象代表的目录
boolean mkdirs() 创建File对象代表的目录,如果必要,会创建中间目录
boolean renameTo(File dest) 进行文件改名,也可以视为我们平时的剪切、粘贴操作
boolean canRead() 判断用户是否对文件有可读权限
boolean canWrite() 判断用户是否对文件有可写权限

请看举例:
【Java系列】文件操作详解_第5张图片
【Java系列】文件操作详解_第6张图片
示例2:
【Java系列】文件操作详解_第7张图片
【Java系列】文件操作详解_第8张图片
上图中通过getAbsolutePath()方法打印出来的目录是按照工作目录 + 当前目录来进行打印的(如果是在idea中运行程序的话,工作目录就是项目所在的目录,如果是在命令行中运行程序的话;工作目录就是命令行当前所在目录;如果程序运行在tomcat中则工作目录是在tomcat下的bin目录;所以工作目录会随着运行方式的不同而发生变化)。
示例三:
【Java系列】文件操作详解_第9张图片
【Java系列】文件操作详解_第10张图片
示例四:
【Java系列】文件操作详解_第11张图片
【Java系列】文件操作详解_第12张图片
注意:createNewFile方法是有可能抛出异常的,比如写入的路径是一个非法路径,比如我们要创建这个文件但是我们对文件所在的目录没有权限操作。
示例五(删除文件,等到程序运行结束的时候才对文件进行删除而非立即删除):
【Java系列】文件操作详解_第13张图片
有时候我们会在程序运行的时候需要用到临时文件,等待程序结束的时候再把这个临时文件进行删除。
示例六(创建目录):
【Java系列】文件操作详解_第14张图片
示例七(文件重命名和文件移动操作):
【Java系列】文件操作详解_第15张图片

以上就是对文件系统的操作,都是通过File类来进行实现的。所以我们呢

本文到这里就结束了,希望友友们可以支持一下一键三连哈。嗯,就到这里吧,再见啦!!!

【Java系列】文件操作详解_第16张图片

你可能感兴趣的:(Java系列,JavaEE学习专栏,java,文件操作,学习)