• day064:File类与I/O流、绝对路径与相对路径、File类的成员方法


    IO流详细介绍:https://blog.csdn.net/m0_57466457/article/details/127924383?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127924383%22%2C%22source%22%3A%22m0_57466457%22%7D

    目录

    一、什么是File类、IO流

    1.File类

    2.I/O流

    3.File类的构造方法

    二、绝对路径与相对路径

    三、File类的成员方法

    1.File类的创建功能

    (1)createNewFile()      创建空的文件

     (2)mkdir()                    创建单级文件夹​编辑

    (3) mkdirs()                  创建多级文件夹​编辑

    2.File类的删除方法

    (1)delete()方法

    3.File类的获取和判断功能

    4.File类的高级获取功能

    (1)listFile()方法



    一、什么是File类、IO流

    1.File类

    1.File类是文件和目录(文件夹)路径名的抽象表示,文件和目录可以通过File封装成对象,该对象仅仅是一个路径名,它可以存在也可以不存在。

    2.作用:

    • 在读、写数据时告诉虚拟机要操作的文件/文件夹的位置
    • 对文件/文件夹本身进行创建、删除等操作

    2.I/O流

    1.IO流可以对硬盘中的文件进行读写

    2.作用:

    • 可以将数据从内存保存到本地文件(永久保存)
    • 可以将数据从本地文件中读取出来

    3.File类的构造方法

    • String类与File类的转换:将String类转换为File类,便于使用File中的方法
    • String类与String类:即两个路径的拼接
    • File类与String类:即两个路径的拼接

    代码示例:

    1. public class myFileDemo_01 {
    2. public static void main(String[] args) {
    3. // method1();
    4. // method2();
    5. // method3();
    6. }
    7. private static void method3() {
    8. //3.从父抽象路径名和子路径名字字符串创建新的File实例(File与String进行拼接)
    9. File file = new File("D:\\学习视频2");
    10. String str = "\\09_第九章 IO流\\01_File";
    11. File file1 = new File(file, str);
    12. System.out.println(file1);
    13. }
    14. private static void method2() {
    15. // 2.从父路径名字字符串和子路径名字字符串创建新的File实例(两个String进行拼接)
    16. String str1 = "D:\\学习视频2";
    17. String str2 = "\\09_第九章 IO流\\01_File";
    18. File file = new File(str1, str2);
    19. System.out.println(file);
    20. }
    21. private static void method1() {
    22. //1.通过给定路径名字字符串转换为抽象路径名来创建新的File实例(将String类型转为File类型,便于使用File的方法)
    23. String str = "D:\\学习视频2\\09_第九章 IO流\\01_File";
    24. File file = new File(str);
    25. System.out.println(file);
    26. }
    27. }

    二、绝对路径与相对路径

    • 绝对路径:路径固定不变;从盘符开始
    • 相对路径:相对当前项目下的路径

    例子:


    三、File类的成员方法

    1.File类的创建功能

    File可以创建空的文件、或单级文件夹、或多级文件夹

    • createNewFile()      创建空的文件
    • mkdir()                    创建单级文件夹
    • mkdirs()                  创建多级文件夹

    代码示例:

    1. public class myFileDemo_02 {
    2. public static void main(String[] args) throws IOException {
    3. // method1();
    4. // method2();
    5. // method3();
    6. }
    7. private static void method3() {
    8. //在D:\\A下创建一个名为a、b、c的多级文件夹
    9. //注意点:
    10. //1.mkdirs()也可以创建单级文件夹
    11. //2.mkdirs()只能创建文件夹
    12. File file = new File("D:\\A\\a\\b\\c");
    13. boolean result = file.mkdirs();
    14. System.out.println(result);
    15. }
    16. private static void method2() {
    17. //在D:\\A下创建一个名为a的单级文件夹
    18. //注意点:
    19. //mkdir()不管有没有后缀,只能创建单级文件夹
    20. File file = new File("D:\\A\\a");
    21. boolean result = file.mkdir();
    22. System.out.println(result);
    23. }
    24. private static void method1() throws IOException {
    25. //在D:\\A下创建一个名为a的空文件
    26. //注意点:
    27. //1.当文件已经存在时,创建失败,返回false;反之返回true
    28. //2.createNewFile()不管有没有后缀,只能创建文件
    29. File file = new File("D:\\A\\a");
    30. boolean result = file.createNewFile();
    31. System.out.println(result);
    32. }

    (1)createNewFile()      创建空的文件

     (2)mkdir()                    创建单级文件夹

    (3) mkdirs()                  创建多级文件夹

    2.File类的删除方法

    (1)delete()方法

    1. public static void main(String[] args) {
    2. //删除D盘下A文件夹中的c文件夹
    3. //注意点:
    4. //1.删除后不能从回收站恢复
    5. //2.可以删文件,也可以删文件夹;删文件时是直接删除,删文件夹前提文件夹必须是空文件夹
    6. File file = new File("D:\\A\\a\\b\\c");
    7. boolean result = file.delete();
    8. System.out.println(result);

    3.File类的获取和判断功能

    • isDirectory        判断File是否为目录(文件夹)
    • isFile                 判断File是否为文件
    • exists                 判断File是否存在
    • getName 获取File名字(若是文件,则获取结果是文件名.后缀名;若是文件夹,则获取结果是文件夹名)

    4.File类的高级获取功能

    (1)listFile()方法

    进入文件夹,获取这个文件夹里面所有的文件和文件夹的File对象,并把这些File对象都放在一个数组中返回
    (包括隐藏文件和隐藏文件夹)

    代码示例:

    1. 注意点:
    2. 1.当调用者是一个文件时:返回null
    3. 2.当调用者是一个空文件夹时:返回长度为0的数组
    4. 3.当调用者是一个文件夹时:获取这个文件夹里面所有的文件和文件夹的File对象,并把这些File对象都放在一个数组中返回(包括隐藏文件和隐藏文件夹)
    5. 4.当调用者是一个有权限才能进入的文件夹时:返回null
    6. */
    7. package myFileDemo;
    8. import java.io.File;
    9. public class myFileDemo_05 {
    10. public static void main(String[] args) {
    11. File file =new File("D:\\");
    12. File[] files = file.listFiles(); //返回值是一个File类型的数组
    13. for (File path : files) {
    14. System.out.println(path);
    15. }
    16. }

  • 相关阅读:
    专利-分析方法总结
    [c++基础]-vector类
    5年测试在职经验之谈:2年功能测试、3年自动化测试,从入门到不可自拔...
    Spring Boot 资源索引
    3.4 封装性
    318. 最大单词长度乘积
    加速 PyTorch 模型预测常见方法梳理
    Python 中的 Elias Delta 编码
    在DDD领域驱动下的微服务数据库的MVC设计思路(高度可行性)
    KaiwuDB 受邀亮相 2023 中国国际“软博会”
  • 原文地址:https://blog.csdn.net/m0_57466457/article/details/127896860