从零学Java File

这篇具有很好参考价值的文章主要介绍了从零学Java File。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java File


概念:代表物理盘符中的一个文件或者文件夹。

常用方法:

createNewFile()//创建一个新文件
mkdirs()//创建一个新目录
delete()//删除文件或空目录 
exists()//判断File对象所对象所代表的对象是否存在
getAbsolutePath()//获取文件的绝对路径
getName()//取得名字 
getParent()//获取文件/目录所在的目录
isDirectory()//是否是目录
isFile()//是否是文件
length()//获得文件的长度
listFiles()//列出目录中的所有内容
renameTo()//修改文件名

eg:

常用方法

File 表示文件时

/**
    File: 表示文件
    1 创建
    2 删除
    3 获取
    4 判断
    5 重命名
     */
public static void fileOpe() throws IOException {
    //File对象: 表示磁盘中的一个文件
    File file = new File("e:\\javaee2308.txt");
    System.out.println(file);
    //1 创建
    if (!file.exists()) {
        System.out.println("创建结果:"+file.createNewFile());
    } else {
        System.out.println("文件已存在...");
    }
    //2 删除
    //        System.out.println("删除结果"+file.delete());
    //3 获取
    System.out.println("文件名:"+file.getName());
    System.out.println("文件路径:"+file.getPath());
    System.out.println("文件绝对路径:"+file.getAbsolutePath());
    System.out.println("文件大小:"+file.length());
    System.out.println("文件最后一次的修改时间:"+new Date(file.lastModified()));
    //4 判断
    System.out.println("判断是否存在:"+file.exists());
    System.out.println("判断是否是文件:"+file.isFile());
    System.out.println("判断是否隐藏:"+file.isHidden());
    System.out.println("判断是否可写:"+file.canWrite());
    //5 重命名(具有剪切功能)
    System.out.println("重命名结果:"+file.renameTo(new File("e:\\QianFeng\\aaa.txt")));
}

File 表示目录时

/**
    File: 表示目录
    1 创建
    2 删除
    3 获取
    4 判断
    5 重命名
    6 获取目录中的文件和子目录
     */
public static void dirOpe() {
    //创建File对象
    File dir = new File("e:\\aaa\\bbb\\ccc");
    System.out.println(dir);
    //1 创建
    //dir.mkdir(); //单级目录
    //多级目录
    if (dir.exists()) {
        System.out.println("创建结果:" + dir.mkdirs());
    } else {
        System.out.println("已存在");
    }
    //2 删除
    //        System.out.println(dir.delete());
    //3 获取
    System.out.println("目录名:"+dir.getName());
    System.out.println("获取路径:"+dir.getPath());
    System.out.println("获取绝对路径:"+dir.getAbsolutePath());
    //4 判断
    System.out.println("判断是否存在:"+dir.exists());
    System.out.println("判断是否是目录:"+dir.isDirectory());
    System.out.println("判断是否隐藏:"+dir.isHidden());
    //5 重命名
    System.out.println("重命名结果:"+dir.renameTo(new File("e\\aaa\\bbb\\xxx")));
    //6 获取目录中的子目录和文件
    File dir2 = new File("D:\\Users\\胡昊龙\\Pictures\\美图");
    File[] files = dir2.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.endsWith(".png");
        }
    });
    if (files != null) {
        for (File file : files) {
            System.out.println(file.getName());
        }
    }
}

常用案例

1 递归显示文件夹和文件

代码演示:

package StageOne.day21.demoIO;

import java.io.File;

/**
 * @author 胡昊龙
 * @version 1.0
 * @description: TODO
 * @date 2024/1/16 17:09
 */
public class TestFile2 {
    public static void main(String[] args) {
        listDir(new File("D:\\Users\\胡昊龙\\Pictures"),0);
    }
	//案例1:递归显示文件夹
    public static void listDir(File dir, int level) {
        File[] files = dir.listFiles();
        System.out.println(getSep(level)+dir.getName());
        level++;
        if (files != null) {
            for (File file : files) {
                if (file.isDirectory()) {
                    listDir(file,level);
                } else {
                    System.out.println(getSep(level)+file.getName());
                }
            }
        }
    }
	//目录分级显示
    public static String getSep(int level) {
        StringBuilder builder = new StringBuilder("|");
        for (int i = 0; i < level; i++) {
            builder.append("__");
        }
        return builder.toString();
    }
}

2 递归删除

代码演示:文章来源地址https://www.toymoban.com/news/detail-795919.html

//案例2:递归删除目录
public static void listDelete(File dir){
    File[] files = dir.listFiles();
    if (files != null) {
        for (File file : files) {
            if(file.isDirectory()){
                listDelete(file);
            }else{
                System.out.println(file+"..."+file.delete());//删除文件
            }
        }
    }
    System.out.println(dir+"..."+dir.delete());//删除目录
}

到了这里,关于从零学Java File的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 从零学Java 单例模式

    单例(Singleton):保证只能创建一个该类的对象。 实现单例三个步骤 私有化构造方法 在类内部创建一个对象 在类中添加一个公开的方法,返回单例对象 2.1 饿汉式 饿汉式: 类加载时, 对象则实例化 代码实现: SingleTon: Test: 2.2 懒汉式 懒汉式: 使用时创建, 线程不安全 代码实现

    2024年01月23日
    浏览(6)
  • 从零学Java 线程安全的集合

    从零学Java 线程安全的集合

    Collection体系集合、以及线程安全集合。 注:下划线代表线程安全集合 Collections中的工具方法 Collections工具类中提供了多个可以获得线程安全集合的方法。 public static Collection synchronizedCollection(Collection c) public static List synchronizedList(List list) public static Set synchronizedSet(Set s) public

    2024年01月17日
    浏览(11)
  • 【从零开始学习JAVA | 第三十三篇】File类

    【从零开始学习JAVA | 第三十三篇】File类

    目录 前言: File类: 构造方法: 常见成员方法: 总结:         本文我们将为大家介绍JAVA中一个比较使用的类:File类,他为我们提供了存储数据的功能,使得程序的数据不至于在运行结束之后就丢失,是一个很好的类。         File类是Java标准库中用于操作文件和目录

    2024年02月15日
    浏览(46)
  • Jeecg-Boot 低代码开发平台之路(一) —— 开始从零学起

    今天开始详细学习下 Jeecg-Boot 低代码开发平台,官方网站对该平台的介绍是如下。 JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant DesignVue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! Jee

    2023年04月08日
    浏览(179)
  • 从零开始学习 Java:简单易懂的入门指南之File类(二十九)

    java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 public File(String pathname) :通过将给定的 路径名字符串 转换为抽象路径名来创建新的 File实例。 public File(String parent, String child) :从 父路径名字符串和子路径名字符串 创建新的 F

    2024年02月08日
    浏览(11)
  • 从零学算法2848

    2848 .给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i,nums[i] = [starti, endi] ,其中 starti 是第 i 辆车的起点,endi 是第 i 辆车的终点。 返回数轴上被车 任意部分 覆盖的整数点的数目。 示例 1: 输入:nums = [[3,6],[1,5],[4,7]] 输出:7 解释:

    2024年02月09日
    浏览(11)
  • 从零学算法50

    50 .实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3 输出:9.26100 示例 3: 输入:x = 2.00000, n = -2 输出:0.25000 解释:2-2 = 1/22 = 1/4 = 0.25 还真没我想的那么简单,这题可以学一下快速幂,我就直

    2024年02月07日
    浏览(9)
  • 从零学算法154

    154 .已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4] 若旋转 7 次,则可以得到 [0,1,4,4,5,6,7] 注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为

    2024年02月13日
    浏览(11)
  • 从零学算法

    1575.给你一个 互不相同 的整数数组,其中 locations[i] 表示第 i 个城市的位置。同时给你 start,finish 和 fuel 分别表示出发城市、目的地城市和你初始拥有的汽油总量 每一步中,如果你在城市 i ,你可以选择任意一个城市 j ,满足 j != i 且 0 = j locations.length ,并移动到城市 j 。从

    2024年02月06日
    浏览(11)
  • 从零学算法295

    295 .中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr = [2,3,4] 的中位数是 3 。 例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化 MedianFinder 对象。 void addNum(int num) 将数据流中的

    2024年02月09日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包