File类

Posted xiaozhang666

tags:

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

File类的作用
可以用来表示磁盘上的某个文件或者某个文件夹
File类的构造
public File(String pathname);以指定的路径创建File对象
public File(String parent,String child);以指定父路径和子路径创建File对象 
public File(File parent,String child);以指定父File对象和子路径创建File对象    
public class FileDemo01 {
    public static void main(String[] args) {
        //File类的构造方法
        //1.直接指定路径
        File f1 = new File("C:\Users\Administrator\Desktop\temp\aaa\1.txt");
        System.out.println(f1);
        File f2 = new File("C:\Users\Administrator\Desktop\temp\aaa\111");
        System.out.println(f2);
        //2.以指定父路径和子路径创建File对象
        File f3 = new File("C:\Users\Administrator\Desktop","temp\aaa\1.txt");
        System.out.println(f3);
        //3.以指定父File对象和子路径创建File对象
        File parent = new File("C:\Users\Administrator\Desktop");
        File f4 = new File(parent,"temp\aaa\1.txt");
        System.out.println(f4);
    }
}
File类的方法
public String getAbsolutePath(); 获取文件的绝对路径
public String getPath(); 获取构造时传入的路径
public String getName(); 获取名字(不带路径)
public int length();获取大小(单位字节)
File类的判断方法
public boolean isFile(); 判断是否为文件
public boolean isDirectory();判断是否为文件夹
public boolean exists();判断是否存在
File类的创建删除方法
public boolean createNewFile();创建文件
public boolean mkdir();创建一级文件夹    
public boolean mkdirs();创建多级文件夹        
public boolean delete();删除文件或者"空"文件夹   

注意:
  a.只有存在的情况下才能删除成功,只有不存在的情况下才能创建成功
  b.删除时如果是非空的文件夹,也会删除失败
  c.创建时如果多级文件夹,必须使用mkdirs,使用mkdir也会创建失败

File类遍历目录的方法
public String[] list();列出当前目前下所有文件或者文件夹的名字
public File[] listFiles(); 列出当前目前下所有文件或者文件夹的File对象   
文件搜索案例  递归
需求:
    在一个指定的目录中查找指定后缀的文件    
    指定的目录: C:UsersAdministratorDesktop	empaaa
    指定的文件: xx.txt文件
        
public class RecursionDemo04 {
    public static void main(String[] args) {
        //需求:
        //在一个指定的目录中查找指定后缀的文件
        //指定的目录: C:UsersAdministratorDesktop	empaaa
        //指定的文件: xx.txt文件
        File fileDir = new File("C:\Users\Administrator\Desktop\temp\aaa");
        printTxtFile(fileDir);
    }
    //打印指定目录下的所有.txt文件
    public static void printTxtFile(File ff){
        //1.调用遍历目录的方法
        File[] files = ff.listFiles();
        //2.循环
        for (File file : files) {
            //3.判断
            if (file.isFile() && file.getName().endsWith(".txt")) {
                System.out.println(file);
            } else if (file.isDirectory()){
                //4.遍历这个文件夹,打印其中的.txt文件
                printTxtFile(file);//递归
            }
        }
    }
}  

 

以上是关于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代码片段