• File类中的方法、获取功能的方法合集、判断功能的方法合集、创建、删除功能的方法合集、目录遍历方法合集


    File类概述

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

    File类中的方法

            构造方法

            ·public File(String pathname):

                    通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
                   pathname是文件路径(可以是绝对路径(从磁盘到文件的路径)也可以是相对路径(相对于当前类所在文件而言的路径))

            public File(String parent String child):

                    从父路径名字符串和子路径名字符串创建新的 File实例。

            ·publicFile(File parent String child):

                    从抽象路径名和子路径名字符串创建新的 File实例。

            注意:

            一个File对象代表硬盘中实际存在的一个文件或者目录无论该路径下是否存在文件或者目录都不影响File对象的创建

    1. public class FileDemo {
    2. public static void main(String[] args) throws IOException {
    3. File file = new File("E:\\IDEA\\Projects");
    4. //创建一个File对象指向E:\\IDEA\\Projects文件夹或者直接指向文件
    5. String parent = "E:\\IDEA\\Projects";
    6. String child = "aa.java";
    7. File file1 = new File(parent,child);
    8. //将parent和child连接在一起,形成一个新的路径
    9. File file2 = new File(parent)
    10. }
    11. }

    常用方法

            1.获取功能的方法

                    ·public String getAbsolutePath():

                            返回File绝对路径名字符串(从磁盘开始到File对象的路径)

                    · public String getPath():

                            将此File转换为路径名字符串。(创建File对象的时候是什么路径,就是什么路径)

                    · public String getName():

                            返回由此File表示的文件目录名称

                    · public long length():

                            返回由此File表示的文件的长度

            2.判断功能的方法

                    · public boolean exists():

                            此File表示的文件或目录是否实际存在。

                    · public boolean isDirectory():

                            此File表示的是否为目录。

                    · public boolean isFile():

                            此File表示的是否为文件。    

            3.创建、删除功能的方法

                    ·public boolean createNewFile():

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

                                    即File对象+点+createNewFile();就能创建一个文件

                    · public boolean delete():

                            删除由此File表示的文件目录(只能删除当前的路径当前的文件

                                    即File对象+点+delete();就能删除一个文件

                    ·public boolean mkdir():

                            创建由此File表示的目录(创建终极目录,目录下只有文件)

                                    即File对象+点+mkdir();就能创建了一个终极目录

                    ·public boolean mkdirs():

                            创建由此File表示的目录,包括任何必需但不存在的父目录,即多级目录创建(多级目录是目录下还有目录,就一次创建多个目录)。 

            4.目录遍历方法

                    public String[] list():

                            返回一个String数组,表示该File目录中的所有子文件目录。(只能获取到目录下的文件名)

                    public File[] listFiles():

                            返回一个File数组,表示该File目录中的所有的子文件目录。(File数组指向每一个目录里面的每一个文件夹,可以对文件进行操作) 

     此页所有的方法的使用示范:

    1. import java.io.File;
    2. import java.io.IOException;
    3. public class FileDemo {
    4. public static void main(String[] args) throws IOException {
    5. File file = new File("E:\\IDEA\\Projects");
    6. //创建一个File对象指向E:\\IDEA\\Projects文件夹或者直接指向文件
    7. String parent = "E:\\IDEA\\Projects";
    8. String child = "aa.java";
    9. File file1 = new File(parent,child);
    10. //将parent和child连接在一起,形成一个新的路径,可以指向没有的文件
    11. File file2 = new File(parent);
    12. File file3 = new File("src");
    13. //返回文件的绝对路径
    14. System.out.println(file.getAbsoluteFile());
    15. System.out.println(file1.getAbsoluteFile());
    16. System.out.println(file3.getAbsoluteFile());
    17. //构造路径
    18. System.out.println(file.getPath());
    19. System.out.println(file3.getPath());
    20. //返回文件名
    21. System.out.println(file1.getName());
    22. //返回文件的长度
    23. System.out.println(file1.length());
    24. System.out.println(file.length());
    25. //查看文件或目录是否存在
    26. System.out.println(file1.getName()+"是否存在"+file1.exists());
    27. System.out.println(file2.getName()+"是否存在"+file2.exists());
    28. System.out.println(file3.getName()+"是否存在"+file3.exists());
    29. //查看是否是文件
    30. System.out.println(file1.getAbsoluteFile()+"是文件吗?"+file1.isFile());
    31. System.out.println(file2.getAbsoluteFile()+"是文件吗?"+file2.isFile());
    32. //查看是否是目录
    33. System.out.println(file2.getAbsoluteFile()+"是目录吗?"+file2.isDirectory());
    34. //先判断文件是否存在
    35. System.out.println(file1.getAbsoluteFile()+"是文件吗"+file1.isFile());
    36. //创建文件
    37. file1.createNewFile();//此处需要抛一个异常
    38. //再判断一下文件是否创建
    39. System.out.println(file1.getAbsoluteFile()+"是文件吗"+file1.isFile());
    40. //删除文件
    41. file1.delete();
    42. //判断文件是否删除
    43. System.out.println(file1.getAbsoluteFile()+"是文件吗"+file1.isFile());
    44. System.out.println(file2.getAbsoluteFile()+"是否存在:"+file2.exists());
    45. //创建了一个单级目录
    46. file2.mkdir();
    47. // System.out.println(file2.getAbsoluteFile()+"是否存在:"+file2.exists());
    48. file2.mkdirs();
    49. //mkdir加s是创建多级目录,即创建了目录下还有目录
    50. file2.delete();
    51. //删除时只能删除当前的路径和当前的文件所以就会把最底层的文件删除
    52. File[] files = file2.listFiles();//指向每一个文件,可以访问目录下的文件,可以显示文件名,文件的路径等
    53. //String[] strings = file2.list();//用来查看文件名或目录下的文件名
    54. for (File s:files){
    55. System.out.println(s.getName()+",绝对路径是:"+s.length());//用于打印文件的信息
    56. }
    57. //多级目录打印,用递归实现,当遇到目录继续调用函数,只有碰到文件时才开始打印
    58. printDir(file2);
    59. }
    60. public static void printDir(File f){
    61. File[] files = f.listFiles();//把f里面的listFiles信息,给files文件数组
    62. /*
    63. * 打印,如果是文件的话,直接打印
    64. * 如果是目录,还需要调用printDir()方法
    65. * */
    66. for(File file:files){
    67. if(file.isFile())//判断是否是文件
    68. //打印文件名和绝对路径
    69. System.out.println("文件名是:"+file.getName()+",绝对路径是:"+file.getAbsolutePath());
    70. else{//不是文件就需要调用,调用前就调用目录名
    71. System.out.println("目录名是"+file.getName());
    72. printDir(file);
    73. }
    74. }
    75. }
    76. }

  • 相关阅读:
    【第十六篇】商城系统-认证系统构建
    vue笔记
    前端的ajax你知多少?ajax完全指南奉上
    采坑websocket总结(二)
    敏捷开发与Scrum区别(敏捷开发(Agile)教程)
    Docker学习笔记
    c++模板初阶
    dp训练题解
    新人SOHO如何接单!
    Linux防火墙之iptables(上)
  • 原文地址:https://blog.csdn.net/m0_56501550/article/details/128153674