在做应用开发的过程中,文件是我们经常需要接触到的东西。在Java中,File是一个相对重要的类,在很多文件处理上我们都会用到该类以及相关的API。但是,从名字上来看,我们可能会认为,File所代表的应该是一个文件,实则不然,在Java中,File代表一个具体的文件名称,也代表一个具体目录的名称。如果要对File所代表的文件进行操作,我们需要借助Java中的输入和输出流的操作,这里我们不谈输入流和输出流,我们仅仅只是说明File的一些常用操作以及当File代表目录时有哪些常用的特殊操作和File代表文件时有哪些常用的操作。
1、File代表目录或文件时的常用操作
方法名称 | 方法说明 |
---|---|
String getName() | 返回文件或目录的名称。 这只是路径名称序列中的最后一个名字。 如果路径名的名称序列为空,则返回空字符串。 |
String getParent() | 返回文件或者目录的父目录字符串。如果此File对象所表示的文件或者目录没有父目录,则返回null。 |
File getParentFile() | 返回文件或者目录的父目录File对象。如果没有父目录,则返回null。 |
String getPath() | 返回文件或者目录的路径的字符串形式。 |
boolean isAbsolute() | 返回定义File对象的路径是否是绝对路径 |
String getAbsolutePath() | 获得文件或目录的绝对路径的字符串表示 |
File getAbsoluteFile() | 获得文件或目录的绝对形式,相当于new File(this.getAbsolutePath()) 。 |
String getCanonicalPath() throws IOException | 返回文件或目录的路径名的规范路径名字符串。 |
File getCanonicalFile() throws IOException | 返回文件或目录路径名的规范形式。 相当于new File(this.getCanonicalPath()) 。 |
boolean exists() | 测试文件或目录是否存在 |
boolean isDirectory() | 测试File对象代表的是否是目录 |
boolean isFile() | 测试File对象代表的是否是文件 |
boolean delete() | 删除File对象所表示的文件或目录。 |
void deleteOnExit() | 请求在虚拟机终止时删除File对象表示的文件或目录。 |
2、File代表一个具体目录的名称时的常用特殊操作
如果File代表一个具体目录名称,那么通过File我们可执行如下的一些操作。
方法名称 | 方法说明 |
---|---|
String[] list() | 返回目录中的所有文件名称和目录名称构成的数组 |
String[] list(FilenameFilter filter) | 返回目录中满足指定过滤器的文件名称和目录名称构成的数组 |
File[] listFiles() | 返回目录中的所有文件名称构成的数组 |
File[] listFiles(FilenameFilter filter) | 返回目录中满足指定过滤器的文件和目录构成的数组 |
File[] listFiles(FileFilter filter) | 返回目录中满足指定过滤器的文件和目录构成的数组 |
boolean mkdir() | 创建目录 |
boolean mkdirs() | 创建目录,包括任何必需但不存在的父目录 |
3、File代表一个具体的文件名称时的常用特殊操作
如果File代表一个具体文件名称,那么通过File我们可执行如下的一些特殊的操作。
方法名称 | 方法说明 |
---|---|
long length() | 返回文件长度 |
boolean createNewFile() throws IOException | 创建一个新的文件,如果文件已经存在,返回false;如果文件不存在,创建成功则返回true |