Java教程

Java file对象详解

本文主要是介绍Java file对象详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

File简介

File可以新建、删除、和重命名文件和目录。但File不能访问文件本身,如果需要访问文件内容,则需要 I/O;
File类的实例表示一个文件或者目录(文件夹);
构造一个File实例并不是创建这个目录或文件,而是该路径的一个抽象,它可能真实存在也可能不存在。(就是指向这个文件或目录)。

创建方法简介:

通过路径名字符串
public File(String pathname)
演示:

String pathname = “D:\aaa.txt”; //文件路径名
File file1 = new File(pathname);

通过父路径名字符串 和 子路径名字符串
public File(String parent, String child)
演示:

String parent = “d:\aaa”; //fu
String child = “bbb.txt”; //zi
File file3 = new File(parent, child);

通过父抽象路径名 和 子路径名字符串
public File(File parent, String child)
演示:

File parentDir = new File(“d:\aaa”); //抽象父类
String child = “bbb.txt”; //子类
File file4 = new File(parentDir, child);

无论该路径下是否存在文件或者目录,都不影响File对象的创建

绝对路径和相对路径

  • 绝对路径:从盘符开始的路径,这是一个完整的路径。
  • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

file 常用方法

getAbsolutePath()   获取路径

getPath()    路径名转换为字符串

getName()  返回文件或目录名

length()   文件长度

"判断类的常用方法"

exists()    是否存在

isDirectory()  是否为目录

isFile()     是否为文件

"创建删除"

createNewFile()   当且仅当具有该名称的文件尚不存在时,创建一个新的空文件

delete()  删除文件或目录  只能单目录

mkdir() 创建由此File表示的目录

mkdirs() 创建由此File表示的目录,包括任何必需但不存在的父目录 可创多级目录

"目录的遍历方法"

list()   返回String数组,表示文件或目录

listFiles() 返回File数组,表示File目录中的所有子文件或目录

常用案例:

案例1:搜索D:\aaa 目录中的.java文件。
分析:

  1. 目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录。
  2. 遍历目录时,获取的子文件,通过文件名称,判断是否符合条件。

演示:

public class DiGuiDemo3 {
    public static void main(String[] args) {
        // 创建File对象
        File dir  = new File("D:\\aaa");
      	// 调用打印目录方法
        printDir(dir);
    }

    public static void printDir(File dir) {
      	// 获取子文件和目录
        File[] files = dir.listFiles();
      	
      	// 循环打印
        for (File file : files) {
            if (file.isFile()) {
              	// 是文件,判断文件名并输出文件绝对路径
                if (file.getName().endsWith(".java")) {
                    System.out.println("文件名:" + file.getAbsolutePath());
                }
            } else {
                // 是目录,继续遍历,形成递归
                printDir(file);
            }
        }
    }
}
这篇关于Java file对象详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!