File类

Posted wbh1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了File类相关的知识,希望对你有一定的参考价值。

file类概述:文件和目录路径名的(抽象)表达形式

一个file类对象,就表示操作系统中的(路径名所表示的)一个文件或者一个目录——可以只是逻辑上存在,实际中并不存在

路径名:

1.绝对路径名是完整的路径名,不需要其他任何信息就可以定位它所表示的文件

2.相反,相对路径名是必须使用取自其他路径名的信息进行解释

默认情况下,java.io包中的类总是根据当前用户目录来解释相对路径名。此目录由系统属性user.dir指定,通常是java虚拟机调用的目录

路径表示:

1.对于类UNIX平台,绝对路径名的前缀始终是“/”。相对路径名没有前缀。表示根目录的绝对路径名的前缀是“/”且名称序列为空.

绝对路径名:/home/a/6379.conf

相对路径名:a/1.txt

根目录:/

2.对于Mirosoft Windows平台,包含盘符的路径名前缀由驱动器号和一个“:”组成,如果路径名是绝对路径名,还可能后跟“\”

绝对路径:e:aa.txt

相对路径:没有盘符前缀 aa.txt

 

File的构造方法:

File(String pathname)  创建一个FIile对象,该File对象表示的文件或者目录,就是指pathname这个路径字符串所表示操作系统中的文件或目录 

File(String parent, String child)

File(File parent, String child)

 

特殊字符:\

" " = 换行

"\" =

 

创建功能:

物理创建目录:

public boolean createNewFile()

物理创建目录:

public boolean mkdir()

public boolean mkdirs()

mkdir和mkdirs创建目录的区别:

1.mkdir仅能在已经存在的目录下面创建新目录

2.mkdirs当要创建的目标目录,如果目标目录的父目录不存在的时候,他会将不存在的目标目录的父目录连同目标目录一起都创建好

 

删除功能:

public boolean delete()

删除此抽象路径名表示的文件或目录,

如果此路径名表示为一个目录,则该目录必须为空才能删除

 

重命名功能:

public boolean remaneTo(File dest)

对当前File对象所表示的文件或目录,重命名,将其重命名为参数File对象所表示的文件的文件名

1.当在源文件,和修改之后的目标文件在同一目录的时候:效果只是重命名

2.当源文件和修改后的目标文件不在同一目录的时候:

a.移动文件

b.重命名

 

判断功能

1.public boolean isFile()  判断File对象是否表示的是一个文件

2.public boolean isDirectory() 判断File对象是否表示的是一个目录

3.public boolean exists() 判断File对象表示的文件是否物理存在

4.public boolean canRead() 判断File对象表示的 文件时候可读

5.public boolean canWrite() 判断File对象表示的文件是否可写

6.public boolean isHidden() 判断文件时候是隐藏文件,判断File对象表示的文件是否是隐藏文件

 

基本获取功能

1.public File getAbsolutePath()  获取File对象表示的抽象文件的绝对路径

2.public String getPath() 获取File对象表示的抽象文件,路径名字符串

3.public String getName()  获取文件或者目录的名字

4.public long length() 返回由此路径名表示的文件的长度,如果此路径名表示一个目录,则返回值是不确定的,此抽象路径名表示的文件名长度,以字节为单位;如果文件不存在则返回0L

5.public long lastModified() 返回此抽象路径名表示的文件的最后一次修改的时间 

 

高级获取功能(只针对目录

1.public String[] list()

a.返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录

b.如果此抽象路径名不表示一个目录,那么此方法将返回NULL

 否则返回一个字符串数组,每个数组元素对应目录中的每个文件或目录

c.每个字符串是一个路径名,而不是一条完整路径

2.public File[] listFiles()

a.返回一个File数组,这些路径名表示此抽象路径名表示的目录中的文件或者目录

b.如果此抽象路径名不表示一个目录,那么此方法将返回NULL

 否则返回一个File对象数组,每个数组元素对应目录中的每个文件或目录

 

自定义获取

File[] listFiles(FileFilter filter)

FIleFilter用于抽象路径名的过滤器

public interface FileFilter{

    //pathname 该File对象,表示待判断的File对象   
  //如果该方法返回true:表示带判断的pathname File对象满足条件
  //如果该方法返回false:
表示带判断的pathname File对象不满足条件(要被过滤掉)
    boolean accept(File pathname)

}

自己实现一个过滤条件,用filefilter接口的子类对象来实现

以上是关于File类的主要内容,如果未能解决你的问题,请参考以下文章

这些 C++ 代码片段有啥作用?

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

[异常解决] Make nRF51 DFU Project Appear "fatal error: uECC.h: No such file or directory"(代码片段

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段

pycharm添加Odoo代码片段