首页 > 其他分享 >File类的使用

File类的使用

时间:2024-10-19 12:20:58浏览次数:7  
标签:String File System file 使用 println public

一、File的定义和构造方法

File是一个类,在java.io.File包下,需要进行导包

import java.io.File;

/*
    File【文件】: 是计算机中所有文件的抽象表示, 将来File对象目标可能存在,也可能不存在。

    构造方法:
        public File(String pathname)
        public File(String parent,String child)
        public File(File parent,String child)

    路径:
        绝对路径【完整路径】:D:\projects\IdeaProjects\bigdara32\java\src\com\shujia\day15\ketang\a1.txt
        相对路径:java/src/com/shujia/day15/ketang/a1.txt

 */
public class FileDemo1 {
    public static void main(String[] args) {
        //public File(String pathname)
//        File f1 = new File("D:\\projects\\IdeaProjects\\bigdara32\\java\\src\\com\\shujia\\day15\\ketang\\a1.txt");
//        System.out.println(f1);
//        File f2 = new File("java/src/com/shujia/day15/ketang/a1.txt");
//        System.out.println(f2);

        //public File(String parent,String child)
//        File f1 = new File("D:\\projects\\IdeaProjects\\bigdara32\\java\\src\\com\\shujia\\day15\\ketang","a1.txt");
//        System.out.println(f1);

        //public File(File parent,String child)
        File file = new File("D:\\projects\\IdeaProjects\\bigdara32\\java\\src\\com\\shujia\\day15\\ketang");
        File f1 = new File(file, "a1.txt");
        System.out.println(f1);

    }
}

二、其中的成员方法

import java.io.File;

/*
    创建功能
        public boolean createNewFile()
        public boolean mkdir()
        public boolean mkdirs()
    删除功能
        public boolean delete()
    重命名功能
        public boolean renameTo(File dest)

 */
public class FileDemo2 {
    public static void main(String[] args) throws Exception{
        File file = new File("java/src/com/shujia/day15/ketang/a1.txt");
        //public boolean createNewFile()
//        System.out.println(file.createNewFile());

        //public boolean mkdir() 创建单极文件夹
//        System.out.println(file.mkdir());

        //public boolean mkdirs() 创建多极文件夹
//        System.out.println(file.mkdirs());

        //public boolean delete() 只能删除空文件夹,或一个文件
//        System.out.println(file.delete());

        //public boolean renameTo(File dest)
//        File file2 = new File("java/src/com/shujia/day15/ketang/李刚.txt");
//        System.out.println(file.renameTo(file2));


    }
}

2.判断

/*
    判断功能
        public boolean isDirectory()
        public boolean isFile()
        public boolean exists()
        public boolean canRead()
        public boolean canWrite()
        public boolean isHidden()

 */
public class FileDemo3 {
    public static void main(String[] args) {
        File file = new File("java/src/com/shujia/day15/ketang/李刚.txt");

        // public boolean isDirectory()
        System.out.println(file.isDirectory());

        //public boolean isFile()
        System.out.println(file.isFile());

        //public boolean exists()
        System.out.println(file.exists());

        //public boolean canRead() 是否可读
        System.out.println(file.canRead());

        //public boolean canWrite() 是否可写
        System.out.println(file.canWrite());

        //public boolean isHidden() 是否被隐藏
        System.out.println(file.isHidden());
    }
}

3.基本获取


import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
    基本获取功能
        public String getAbsolutePath()
        public String getPath()
        public String getName()
        public long length()
        public long lastModified()

 */
public class FileDemo4 {
    public static void main(String[] args) {
        File file = new File("java/src/com/shujia/day15/ketang/李刚.txt");

        // public String getAbsolutePath() 获取绝对路径
        System.out.println(file.getAbsolutePath());

        //public String getPath() 获取相对路径
        System.out.println(file.getPath());

        //public String getName() 获取文件或文件夹的名字
        System.out.println(file.getName());

        //public long length() 获取文件中字节数
        System.out.println(file.length());

        //public long lastModified() 获取上一次修改的时间戳【毫秒级别的】
//        System.out.println(file.lastModified());
        String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd").format(new Date(file.lastModified()));
        System.out.println("上一次修改的时间:"+time);


    }
}

4.高级获取

import java.io.File;

/*
    高级获取功能
        public String[] list()
        public File[] listFiles()

 */
public class FileDemo5 {
    public static void main(String[] args) {
        File file = new File("java/src/com/shujia/day15/ketang");

        //public String[] list() 将目录下所有的文件以及文件夹的名字放到一个数组中返回
        String[] nameList = file.list();
        if(nameList!=null){
            for (String s : nameList) {
                System.out.println(s);
            }
        }

//        assert nameList!=null;
//        for (String s : nameList) {
//            System.out.println(s);
//        }

        //public File[] listFiles() 将目录下所有的文件以及文件夹都封装成一个一个的File对象放到一个数组中
        File[] files = file.listFiles();
        if(files!=null){
            for (File file1 : files) {
                System.out.println(file1);
            }
        }


    }
}

三、练习

import java.io.File;

//需求:获取ketang目录下所有.txt后缀的文件
public class FileDemo6 {
    public static void main(String[] args) {
        File file = new File("java/src/com/shujia/day15/ketang");

        //获取当前目录下所有的文件或者文件夹的集合
        File[] files = file.listFiles();


        if(files!=null){
            for (File file1 : files) {
                if(file1.isFile() && file1.getName().endsWith(".txt")){
                    System.out.println(file1.getName());
                }
            }
        }
    }
}

6.练习2

import java.io.File;
import java.io.FilenameFilter;

/*
    public String[] list(FilenameFilter filter)
    public File[] listFiles(FilenameFilter filter)

 */
public class FileDemo7 {
    public static void main(String[] args) {
        File file = new File("java/src/com/shujia/day15/ketang");

        //public File[] listFiles(FilenameFilter filter)
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                // 当这里返回true的时候,表示将文件放到数组中
                // dir表示当前目录,name表示文件或者文件夹名字
                File f = new File(dir, name);
                return f.isFile() && f.getName().endsWith(".txt");
            }
        });

        if(files!=null){
            for (File file1 : files) {
                System.out.println(file1);
            }
        }

    }
}

标签:String,File,System,file,使用,println,public
From: https://www.cnblogs.com/ndmtzwdx/p/18475746

相关文章

  • MATLAB 工具箱详细重点知识点概述 MATLAB 工具箱使用案例
    一、章节目录MATLAB工具箱概述常见MATLAB工具箱介绍MATLAB工具箱使用案例展示学习MATLAB工具箱的方法MATLAB工具箱的发展趋势二、各章节知识点总结MATLAB工具箱概述MATLAB是一种广泛应用于科学计算、数据分析、算法开发等领域的高级编程语言和交互式环境。MA......
  • 【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
    零.前置篇章本篇前置文章为【LVGL快速入门(一)】LVGL开源框架入门教程之框架移植一.UI设计        介绍使用之前,我们要学习一款LVGL官方的UI设计工具SquareLineStudio,使用图形化设计方式设计出我们想要的界面,然后生成对应源文件导入工程使用。详情参考这篇文章:【......
  • AI绘画:2024最全面的ComfyUI插件与Lora的下载及使用!
    前言本节我们介绍ComfyUI插件和Lora的下载及使用方式。1.安装1.1Checkpoint安装将从前面介绍的模型下载平台下载后,放在ComfyUI/models/checkpoints文件夹下。1.2Lora安装在前面介绍的模型下载网站下载Lora模型,然后放在ComfyUI/models/loras文件夹下。所有的AI设......
  • Linux下丝滑使用docker
    安装docker安装由debian维护的docker.io,参考https://www.kali.org/docs/containers/installing-docker-on-kali/sudoaptupdatesudoaptinstalldocker.iosudosystemctlenabledocker--now为普通用户添加docker的权限sudousermod-aGdocker$USER更改docker镜像(......
  • 使用Web组件加载页面
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......
  • 我在查询SQL的时候也可以使用反引号吧? 我应该也可以把mysql的已使用的关键字用反引号
    是的,您在编写查询SQL时也可以使用反引号(`)来包裹表名和字段名。反引号可以帮助您避免与MySQL的保留关键字发生冲突,确保SQL语句能够正确执行。查询时使用反引号的示例如果您有一个表名或字段名与MySQL关键字相同,您可以使用反引号在查询中包裹它们:SELECT`id`,`name`,`l......
  • 帝国网站模板目录修改? 网站模板修改与使用?
    帝国网站模板目录修改登录后台管理:首先,登录到帝国CMS的后台管理系统。进入模板管理:在后台菜单中找到“模板管理”或“模板设置”,点击进入。选择模板类型:选择你需要修改的模板类型,如“首页模板”、“列表页模板”或“内容页模板”。编辑模板文件:找到对应的......
  • 并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
    前言请求限流(RateLimiting)主要是一种用于控制客户端对服务器的请求频率的机制。其目的是限制客户端在一定时间内可以发送的请求数量,保护服务器免受过多请求的影响,确保系统的稳定性和可靠性。请求限流通常会基于以下几个因素来进行限制:时间窗口:规定了在多长时间内允许的请求......
  • C#异步计数器的使用
    1、CancellationTokenSourcecancellationToken=newCancellationTokenSource();publicvoidInitData(){cancellationToken.Token.Register(()=>{Name="被取消了";});intcount=0;Task.Run(()=>{whi......
  • 【YOLOv10改进[损失函数]】使用结合InnerIoU和Focaler的各种损失函数助力YOLOv10更优
    目录一损失函数二改进v10的损失函数1总体修改①ultralytics/utils/metrics.py文件② ultralytics/utils/loss.py文件③ ultralytics/utils/tal.py文件2各种机制的使用3训练一损失函数【DL】损失函数:IOU|GIOU|DIOU|CIOU|EIOU|MPDIoU|SIOU|InnerIoU|Focaler......