如何用代码操作计算机文件?

今天是我自学Java的第37天。

感谢你的观看,谢谢你。

话不多说,开始今天的学习:

在计算机里面,其实就只有两样东西:文件和文件夹。

文档文件,图片文件,视频文件,应用程序文件……

那在Java中是如何处理这些文件的?

按照面向对象的原则,文件自然也是一个类。

File,文件的意思,顾名思义,就是Java里和文件相关的一个类,它即表示是文件,也可以表示文件夹。

其实文件也好,文件夹也罢,它们本质上是一回事。

你有一个视频文件,你朋友问你放在哪里了,你说在D盘“三年高考”文件夹中的“生物必修”文件夹下。

D盘\三年高考\生物必修,这就是路径。

一、File类介绍

File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作

是Windows系统中的文件路径

Windows系统中的路径是用右斜杠“\”分隔开的。

创建文件对象

构造方法:File(String pathname) 。

其中的参数即为文件路径。

直接打印File对象

控制台打印输出

输出即为文件路径,不是地址,很显然,File类底层是重写了toString方法的,不然就是Object的toString方法会打印地址。

Java中的文件路径是用左斜杠“/”分隔开的。

关于正斜杠和反斜杠

在java中路径一般用"/"。

在windows中的路径一般用"\"。

所以在java中写windows路径一般用"/",或者将"\"转义,变成"\"。

"\"是一个转义字符,什么叫转义字符?

就是这个字符它有特别的功能,比如说:

“\t”在Java中打印。

输出结果为四个空格,和Tab键一样,也就是说"\"这个转义字符可以将“t”变成tab键,让一个普通的字符有了特殊的作用。

“\\t”在Java中打印。

输出结果为“\t”,在“\”前再加一个“\”,就可以将“\”变成一个普通的字符,这样就可以直接打印“\t”了。

二、File类常用方法

1.获取方法

构造方法一:绝对路径

F:\test\a.txt,这是一个从根盘符开始的路径,绝对路径是一个完整的路径。

构造方法二:相对路径

a.txt,这是一个相对于项目目录的路径,相对路径是一个便捷的路径,开发中经常使用。

getAbsolutePath()方法

返回此File的绝对路径名字符串,相对于项目目录的路径a.txt,转化成绝对路径就是:G:\IdeaProjectsd\study\a.txt。(前面是开发工具IDEA里自定义的路径)

getPath()方法

将此File转换为路径名字符串。(构造路径),也就是构造方法是什么路径它就返回什么路径。

getName()

这个很简单,顾名思义,就是返回由此File表示的文件或目录的名称。

length()方法

返回由此File表示的文件的长度,因为我创建的文件里面什么都没有,故为0。

如果a.txt文件里有3个字母,输出就是3,也就是3个字节。

该方法只能获取文件的大小,不能获取文件夹的大小。

2.判断方法

创建两个文件

其中第一个路径下确实有这个文件;第二个路径下没有这个文件夹。

exists()方法

exists就是存在的意思,也就是此File表示的文件或目录是否实际存在?

isDirectory()方法

Directory就是目录的意思,也就是此File表示的是否为目录?

isFile()方法

意思就是此File表示的是否为文件?

3.创建和删除

createNewFile()方法

在对应的文件路径下,创建一个文件;create:创建;New:新的;File:文件。

如果文件不存在,创建文件成功,会生成一个新的空文件。

如果文件已经存在,创建文件失败。

如果文件的父路径都不存在,会抛出IO异常。

mkdir()方法

创建由此File表示的目录,也就是我们常说的文件夹。

如果创建文件夹成功,返回true;

如果创建文件夹失败,返回false。

现问一个问题:同一路径下文件夹名和文件名可以重名嘛?

按照我们常规的理解,一个是文件夹,一个是文件,它们同名应该是没关系的,但是实际上它们并不能重名!

很多小伙伴虽然接触电脑很长的时间了,但这个问题未必知道。其实原因也很简单,文件夹和文件本质都是路径。

mkdirs()方法

创建由此File表示的多级目录,也就是多级文件夹,比如F:/test/aaa/bbb/ccc。

此方法包含了mkdir方法,更加地强大。

delete()方法

删除由此File表示的文件或目录。

删除不走回收站,谨慎使用。

文件:直接删除

文件夹:要求文件夹一定是空的,非空文件夹不能直接删除。(可以从内向外)

这什么意思呢?

就是文件放在文件夹里面,得先将文件夹里面的文件全部删除,才能删除文件夹。

我们删除文件夹本质上是先将文件夹里的所有文件删除,再删除文件夹的。

总结:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200521A0IC5R00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券