• java中的File类(文件操控者)


    前言必读

    读者手册(必读)_云边的快乐猫的博客-CSDN博客

    一、概念

    1.File位置?

    答:在包java.io.File下,代表操作系统的文件对象(文件、文件夹)

    2.File类可以干嘛?

    答:可以:创建文件、文件夹、定位文件、删除、获取文本本身信息等功能操作。不可以读取文件本身内容。

    3.如果要读取文件中的数据怎么办?

    答:用IO流:可以对硬盘中的数据进行读写

    4.绝对路径和相对路径

    绝对路径:从盘符开始

    相对路径:不带盘符。默认直接到当前工程下的目录寻找文件

    二、例子展示

    例子:

    1.绝对路径和相对路径的各种查看方法

    1. package bao;
    2. import java.io.File;
    3. import java.text.SimpleDateFormat;
    4. public class Test {
    5. public static void main(String[] args) {
    6. //绝对路径(指在本电脑上面能用的路径)
    7. //创建对象。储存地址文件的属性-安全
    8. File f1 = new File("D:\\图片\\壁纸\\巴蛇.jpg");
    9. //1.获取文件绝对路径
    10. System.out.println(f1.getAbsolutePath());//D:\图片\壁纸\巴蛇.jpg
    11. //2.获取文件定义使用的路径
    12. System.out.println(f1.getPath());//D:\图片\壁纸\巴蛇.jpg
    13. //3.获取文件的名称,带后缀
    14. System.out.println(f1.getName());//巴蛇.jpg
    15. //4.获取文件的字节大小
    16. System.out.println(f1.length());//4409079
    17. //5.获取文件的最后修改时间
    18. long time = f1.lastModified();
    19. System.out.println(time);//1658643818000
    20. //上面时间看不懂,那就修改成能看懂的格式
    21. System.out.println("最后修改的时间为"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time));//最后修改的时间为2022/07/24 14:23:38
    22. //6.判断是不是文件
    23. System.out.println(f1.isFile());//true
    24. //7.判断是不是文件夹
    25. System.out.println(f1.isDirectory());//false
    26. //8.测试此抽象路径的File是否存在
    27. System.out.println(f1.exists());//false
    28. System.out.println("=====================================================================================");
    29. //相对路径
    30. //创建对象。储存地址:1.idea文件 2.Copy Path 3.选择带有地址的第一个 4.复制进去后,模块前面的全删了
    31. //这里相对路径返回来结果如果是1970等异常的话,就在new创建文件这里添加上盘符就正常了
    32. File f2 = new File("D:\\java_base\\SE\\src\\QQ");//本应是SE\src\QQ,为了显示时间和字节正常才这样
    33. //1.获取文件绝对路径
    34. System.out.println(f2.getAbsolutePath());//D:\java_base\SE\src\QQ
    35. //2.获取文件定义使用的相对路径
    36. System.out.println(f2.getPath());//D:\java_base\SE\src\QQ
    37. //3.获取文件的名称,带后缀
    38. System.out.println(f2.getName());//QQ
    39. //4.获取文件的字节大小
    40. System.out.println(f2.length());//18
    41. //5.获取文件的最后修改时间
    42. long time1 = f2.lastModified();
    43. System.out.println(time1);//1662306438640
    44. //上面时间看不懂,那就修改成能看懂的格式
    45. System.out.println("最后修改的时间为"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time1));//最后修改的时间为2022/09/04 23:47:18
    46. //6.判断是不是文件
    47. System.out.println(f2.isFile());//true
    48. //7.判断是不是文件夹
    49. System.out.println(f2.isDirectory());//false
    50. //8.测试此抽象路径的File是否存在
    51. System.out.println(f2.exists());//true
    52. }
    53. }

    运行结果:

    D:\图片\壁纸\巴蛇.jpg
    D:\图片\壁纸\巴蛇.jpg
    巴蛇.jpg
    4409079
    1658643818000
    最后修改的时间为2022/07/24 14:23:38
    true
    false
    true
    =====================================================================================
    D:\java_base\SE\src\QQ
    D:\java_base\SE\src\QQ
    QQ
    18
    1662306438640
    最后修改的时间为2022/09/04 23:47:18
    true
    false
    true 

    2.创建文件和删除文件

    1. package bao;
    2. import java.io.File;
    3. import java.io.IOException;
    4. public class Test {
    5. public static void main(String[] args) throws IOException {
    6. //1.创建新文件,成功返回true。不成功返回false的对象,出现异常抛出就好alt+回车键
    7. File f = new File("D:\\java_base\\SE\\src\\bao\\大哥.txt");
    8. System.out.println(f.createNewFile());//true
    9. //2.创建一级目录,只能创建一级目录
    10. File f2 = new File("D:\\新建文件夹");
    11. System.out.println(f2.mkdir());//true。成功建立起来本地文件夹
    12. //3.创建多级目录
    13. File f3 = new File("D:\\新建文件夹2\\aa\\bb\\cc");
    14. System.out.println(f3.mkdirs());//true。成功建立起来本地文件夹
    15. //4.删除文件,本地绝对文件和相对文件都可以删除,强力删除,回收站里面都不剩,好东西
    16. //不能删除非空文件夹
    17. File f4 = new File("D:\\java_base\\SE\\src\\bao\\大哥.txt");
    18. System.out.println(f4.delete());//true
    19. }
    20. }

     运行结果:

    true
    true
    true
    true

    3.遍历方法(打标:在里面的遍历文件夹很像爬虫可以获取数据)

    1. package bao;
    2. import java.io.File;
    3. public class Test {
    4. public static void main(String[] args) {
    5. //绝对路径
    6. //new一个要使用的文件夹对象
    7. File f = new File("D:\\图片");
    8. //1.简单遍历。获得当前文件夹下的子文件
    9. // 文件数据赋值给集合列表
    10. String[] name = f.list();
    11. for (String names : name) {
    12. System.out.println(names);
    13. }
    14. //2.获取一级文件的全部绝对路径(常用)
    15. File[] f2 = f.listFiles();
    16. for (File file : f2) {
    17. System.out.println(file);
    18. }
    19. }
    20. }

    运行结果:

    风景
    头像
    D:\图片\风景
    D:\图片\头像

    listFiles注意事项:

    1.当调用者不存在时,返回null

    2.当调用者是一个文件时,返回null

    3.当调用者是一个空文件夹时,返回一个长度为0的数组

    4.当调用者是一个隐藏的文件夹时,里面的隐藏内容也会被调用出来(这个可以查看隐藏文件夹中内容了)

    5.需要权限的文件夹,返回null

  • 相关阅读:
    Docker 入门,学明白这一篇就够啦
    如何规避容器内做Java堆dump导致容器崩溃的问题
    Spring的前置知识
    Linux常见基本指令
    为什么要在时钟输出上预留电容的工位?
    邱锡鹏神经网络怎么样,邱锡鹏神经网络答案
    运行的 akrun 会打印信息到控制台,如何取消打印 -- chatGPT
    【JS】Chapter10-Bom 操作
    Python爬虫爬取豆瓣电影短评(爬虫入门,Scrapy框架,Xpath解析网站,jieba分词)
    【OceanBase诊断调优】—— 如何通过trace_id找到对应的执行节点IP
  • 原文地址:https://blog.csdn.net/m0_52861000/article/details/126695340