• Java—File


    目录

    1.File

    1.1File类概述和构造方法

    1.2File类创建功能

    1.3File类判断和获取功能

    1.4File类删除功能

    1.5递归


    1.File

    1.1File类概述和构造方法

     File:它是文件和目录路径名的抽象表示
            文件和目录是可以通过File封装成对象的
            对于File而言,其封装的并不是一个直正存在的文件,仅仅是一个路径名而已,它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的

    构造方法:

    1. package zyy07;
    2. import java.io.File;
    3. public class Demo {
    4. public static void main(String[] args) {
    5. //File(String pathname)
    6. File f1=new File("E:\\IdeaProject\\JavaSE_Code");
    7. System.out.println(f1);
    8. //File(String parent,String child)
    9. File f2=new File("E:\\IdeaProject","JavaSE_Code");
    10. System.out.println(f2);
    11. //File(File parent,String child)
    12. File f3=new File("E:\\IdeaProject");
    13. File f4=new File(f3,"JavaSE_Code");
    14. System.out.println(f4);
    15. }
    16. }

    1.2File类创建功能

    1. package zyy07;
    2. import java.io.File;
    3. import java.io.IOException;
    4. public class Demo {
    5. public static void main(String[] args) throws IOException {
    6. //createNewFile()创建文件
    7. //如果文件不存在就创建文件,并返回true
    8. //如果文件存在就不创建文件,并返回false
    9. File f1=new File("E:\\zyy\\java.txt");
    10. System.out.println(f1.createNewFile());
    11. System.out.println("*********");
    12. //mkdir()创建目录
    13. //如果目录不存在就创建目录,并返回true
    14. //如果目录存在就不创建目录,并返回false
    15. File f2=new File("E:\\zyy\\JavaSE");
    16. System.out.println(f2.mkdir());
    17. System.out.println("*********");
    18. //mkdirs()创建多级目录
    19. //如果目录不存在就创建目录,并返回true
    20. //如果目录存在就不创建目录,并返回false
    21. File f3=new File("E:\\zyy\\JavaWEB\\HTML");
    22. System.out.println(f3.mkdirs());
    23. }
    24. }

    1.3File类判断和获取功能

    1. package zyy07;
    2. import java.io.File;
    3. import java.io.IOException;
    4. public class Demo {
    5. public static void main(String[] args) throws IOException {
    6. //创建对象
    7. File f1=new File("E:\\zyy\\java.txt");
    8. //isDirectory()测试是否是目录
    9. System.out.println(f1.isDirectory());
    10. //f1.isFile()测试是否为文件
    11. System.out.println(f1.isFile());
    12. //f1.exists()测试是否存在
    13. System.out.println(f1.exists());
    14. //getAbsolutePath()返回路径名的绝对路径名字符串
    15. System.out.println(f1.getAbsolutePath());
    16. //getPath()将此抽象路径名转换为路径名字符串
    17. System.out.println(f1.getPath());
    18. //getName()返回此抽象路径名表示的文件或路径名称
    19. System.out.println(f1.getName());
    20. //list()
    21. File f2=new File("E:\\zyy");
    22. String[] StrArr = f2.list();
    23. for(String str:StrArr){
    24. System.out.println(str);
    25. }
    26. System.out.println("*************");
    27. //listFiles()
    28. File[] fileArr = f2.listFiles();
    29. for(File file:fileArr){
    30. if(file.isFile()){
    31. System.out.println(file.getName());
    32. }
    33. }
    34. }
    35. }

    1.4File类删除功能

     绝对路径和相对路径的区别
            绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\\zyy\java.txt

            相对路径:必须使用取自其他路径名的信息进行解释。例如:myFile\\java.txt

    删除目录时的注意事项:
            如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录

    1. package zyy07;
    2. import java.io.File;
    3. import java.io.IOException;
    4. public class Demo {
    5. public static void main(String[] args) throws IOException {
    6. //创建对象
    7. File f1=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\java.txt");
    8. //在当前模块创建java.txt文件
    9. System.out.println(f1.createNewFile());
    10. //删除当前模块目录下java.txt文件
    11. System.out.println(f1.delete());
    12. //在当前模块目录下创建zz目录
    13. File f2=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\zz");
    14. System.out.println(f2.mkdir());
    15. //删除当前模块目录下的目录
    16. System.out.println(f2.delete());
    17. //在当前模块下创建一个目录zz,然后在该目录下创建一个文件Java.txt
    18. File f3=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\zz");
    19. System.out.println(f3.mkdir());
    20. File f4=new File("E:\\IdeaProject\\JavaSE_Code\\practise\\zz\\java.txt");
    21. System.out.println(f4.createNewFile());
    22. //删除当前模块下的目录zz
    23. System.out.println(f4.delete());
    24. System.out.println(f3.delete());
    25. }
    26. }

    1.5递归

    递归概述:

            以编程的角度来看,递归指的是方法定义中调用方法本身的现象

    递归解决问题的思路:
            把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解

            递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算

    递归解决问题要找到两个内容:
            递归出口:否则会出现内存溢出
            递归规则:与原问题相似的规模较小的问题

    1. package zyy04;
    2. public class Demo {
    3. public static void main(String[] args) {
    4. int[] arr=new int[20];
    5. arr[0]=1;
    6. arr[1]=1;
    7. System.out.println(f(10));
    8. }
    9. //递归
    10. public static int f(int n){
    11. if(n==1||n==2){
    12. return 1;
    13. }
    14. return f(n-1)+f(n-2);
    15. }
    16. }

  • 相关阅读:
    JAVAEE---多线程
    律师网站开发实战案例
    权限认证[还是有问题]
    ROS学习番外篇14—nuScenes-LidarSeg数据集的下载和解析
    LuatOS-SOC接口文档(air780E)--mcu - 封装mcu一些特殊操作
    硼离子超标的解决方法,除硼离子树脂技术
    unitree
    Python--快速入门四
    C/C++实现:使用单向循环链表实现:编写相关函数来完成两个超长正整数的加法 某知名公司笔试题
    反函数求导:自然对数 ln是怎么得到的;为什么自然对数的导数是 1/ x;arcsin 和 arccos 的导数求算
  • 原文地址:https://blog.csdn.net/qq_62799214/article/details/126289007