文件操作(Java)
admin
2024-01-20 21:39:40

1.文件

1.1.文件类型

文件的类型可以有很多种,不只是我们常打开的普通文件.

  1. 普通文件(file):普通文件是保存在硬盘上的
  2. 目录(文件夹)
  3. 包含且不限于一些硬件或者软件

上述这些都可以理解为文件.

1.2.普通文件的保存方式

普通文件一般有两种保存方式

  1. 文本文件 : 字符形式存储
    • “.txt”,“.c”,“.java”, 等 结尾的文件都是字符形式存储的
  2. 二进制文件 : 字节形式存储
    • word,excel,ppt 等类型文件都是二进制形式存储的

1.3.文件系统中的目录结构

文件系统中一般是树形结构保存

  • 普通文件就是叶子结点
  • 目录就是子树

文件系统中一般通过路径来描述一个目录或者文件的位置

  • 绝对路径
    • 就是从最开始的位置开始描述,比较固定
  • 相对路径
    • 从某一个基准目录开始描述, ./表示当前目录, …/表示父级目录

2.Java 中的操作文件类

Java 中通过 java.io.File; 类来对一个文件(包括目录)进行抽象的描述. 注意,有 File 对象,并不 代表真实存在该文件.

2.1.File类的属性

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

2.2.File类的构造方法

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

2.3.File类的方法

修饰符及返回值类型方法签名说明
StringgetParent()返回 File 对象的父目录文件路径
StringgetName()返回 FIle 对象的纯文件名称
StringgetPath()返回 File 对象的文件路径
StringgetAbsolutePath()返回 File 对象的绝对路径
StringgetCanonicalPath()返回 File 对象的修饰过的绝对路径
booleanexists()判断 File 对象描述的文件是否真实存在
booleanisDirectory()判断 File 对象代表的文件是否是一个目录
booleanisFile()判断 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()判断用户是否对文件有可写权限

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...