Java文件相关

目录

文件构造器

创建文件

创建目录

多及目录创建

文件的删除

文件的判断

文件的获取功能

目录的子文件获取


文件构造器

public class FileDemo {

    public static void main(String[] args) {
        //文件的构造器是用来创建文件对象的, 我们创建文件对象的时候要保证文件路径正确
        File file = new File("D:\\abcd.txt");
        System.out.println(file.getName());


        File file1 = new File("D:\\aaa", "11111.txt");
        System.out.println(file1.getName());


        //java中的File类的对象可以代表目录,也可以代表文件
        File file2 = new File("D:\\aaa");
        System.out.println(file2.getName());

        //根据目录的文件对象创建一个文件
        File file3 = new File(file2, "2222.txt");
        System.out.println(file3.getName());
    }
}

创建文件

public class FileDemo1 {

    public static void main(String[] args) throws IOException {
        File file = new File("D:\\aaa\\hello.txt");
        //创建一个文件
        boolean newFile = file.createNewFile();
        System.out.println(newFile);

    }
}

创建目录

public class FileDemo2 {

    public static void main(String[] args) throws IOException {
        //创建一个目录的对象,创建的目录上一层的路径必须正确
        File file = new File("D:\\aaa\\bbb");
        boolean mkdir = file.mkdir();
        System.out.println(mkdir);

    }
}

多及目录创建

public class FileDemo3 {

    public static void main(String[] args) throws IOException {
        //创建一个目录的对象,创建的目录上一层的路径必须正确
        File file = new File("D:\\aaa\\ccc\\hhh\\ggg");
        boolean mkdir = file.mkdirs();
        System.out.println(mkdir);

    }
}

文件的删除

public class FileDemo4 {

    public static void main(String[] args) throws IOException {
        /*File file = new File("D:\\tx.txt");
        //程序删除不走回收站
        file.delete();
*/
        //删除路径的最后一层, 只有空目录才能被删除
        File file1 = new File("D:\\aaa\\bbb");
        boolean delete = file1.delete();
        System.out.println(delete);

    }
}

文件的判断

public class FileDemo5 {

    public static void main(String[] args) throws IOException {

        File file = new File("D:\\aaa");
        //判断文件是否存在
        boolean exists = file.exists();
        System.out.println(exists);

        //判断这个文件对象是否是文件
        boolean isFile = file.isFile();
        System.out.println("判断一个文件对象是否是文件:"+isFile);


        //判断这个文件对象是否是目录
        boolean isDir = file.isDirectory();
        System.out.println("判断一个文件对象是否是目录:"+isDir);


        boolean absolute = file.isAbsolute();
        System.out.println("判断一个文件对象是否是绝对路径:"+absolute);


        File file1 = new File("D:\\aaa\\hello.txt");
        //判断文件是否可读
        boolean b = file1.canRead();
        System.out.println("文件是否可读:"+b);

        //判断文件是否可写
        boolean w = file1.canWrite();
        System.out.println("文件是否可写:"+w);


        //判断文件是否是隐藏的
        boolean h = file1.isHidden();
        System.out.println("文件是否隐藏:"+h);

    }
}

文件的获取功能

public class FileDemo6 {

    public static void main(String[] args) throws IOException {

        File file = new File("D:\\tx.txt");
        //获得文件的绝对路径
        String absolutePath = file.getAbsolutePath();
        System.out.println("文件的绝对路径是:"+absolutePath);

        //创建一个文件对象,用相对路径, 相对路径就是当前的项目的跟路径
        File file1 = new File("a.txt");
        //file1.createNewFile();
        String absolutePath1 = file1.getAbsolutePath();
        System.out.println("文件的绝对路径是:"+absolutePath1);

        //获得的就是当前文件对象的路径
        String path = file1.getPath();
        System.out.println("文件的路径是:"+path);

        //获得文件名
        String name = file1.getName();
        System.out.println("获得文件名:"+name);

        //获得a.txt的大小
        long length = file1.length();
        System.out.println("文件的大小是:"+length);

        //获得最后的修改时间
        long l = file1.lastModified();
        System.out.println("文件的最后修改时间:"+l);
    }
}

目录的子文件获取

public class FileDemo7 {

    public static void main(String[] args) throws IOException {
        //获得电脑磁盘的跟目录
        File[] files = File.listRoots();
        System.out.println(Arrays.toString(files));
        //获得一个目录下的子文件对象
        File file1 = new File("D:\\aaa");
        //获得D:\aaa下的子文件对象
        File[] files1 = file1.listFiles();
        for (File f : files1){
            System.out.println(f);
        }
        //获得子文件的名字
        String[] list = file1.list();
        System.out.println(Arrays.toString(list));
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956204.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【2024年度技术总结】Unity 游戏开发的深度探索与实践

文章目录 前言一、Unity 游戏开发的技术深度总结1、C# 编程基础2、Unity 基础入门3、Unity 实战技巧4、Unity 小技巧分享 二、技术工具与平台的年度使用心得1、学习资源的选择2、开发环境配置3、测试与调试工具 三、技术项目实战经验与成果展示1、【制作100个Unity游戏】专栏2、…

ingress-nginx代理tcp使其能外部访问mysql

一、helm部署mysql主从复制 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo updatehelm pull bitnami/mysql 解压后编辑values.yaml文件,修改如下(storageclass已设置默认类) 117 ## param architecture MySQL archit…

Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测

Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测 目录 Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于RIME-CNN-BiLSTM-Attention、CNN-BiLSTM-Attention、R…

游戏引擎学习第84天

仓库:https://gitee.com/mrxiao_com/2d_game_2 我们正在试图弄清楚如何完成我们的世界构建 上周做了一些偏离计划的工作,开发了一个小型的背景位图合成工具,这个工具做得还不错,虽然是临时拼凑的,但验证了背景构建的思路。这个过…

搭建一个基于Spring Boot的数码分享网站

搭建一个基于Spring Boot的数码分享网站可以涵盖多个功能模块,例如用户管理、数码产品分享、评论、点赞、收藏、搜索等。以下是一个简化的步骤指南,帮助你快速搭建一个基础的数码分享平台。 — 1. 项目初始化 使用 Spring Initializr 生成一个Spring …

31、【OS】【Nuttx】OSTest分析(1):stdio测试(一)

背景 接上篇wiki 30、【OS】【Nuttx】构建脚本优化,引入待构建项目参数 最小系统分析完后,下一个能够更全面了解Nuttx的Demo,当然选择OSTest,里面有大量关于OS的测试用例,方便对Nuttx的整体功能有个把握。 stdio_tes…

Spring WebFlux

文章目录 一、概述1、Spring体系定位2、Spring MVC和WebFlux差异 二、入门1、依赖2、ReactorHttpHandlerAdapter(main启动)3、DispatcherHandler(SpringWebFlux启动)4、WebFilter 三、DispatcherHandler理解1、handle 前置知识&am…

基于SSM的自助购药小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Oracle graph 图数据库体验-安装篇

服务端安装 环境准备 安装数据库 DOCKER 安装23AI FREE ,参考: https://container-registry.oracle.com/ords/f?p113:4:111381387896144:::4:P4_REPOSITORY,AI_REPOSITORY,AI_REPOSITORY_NAME,P4_REPOSITORY_NAME,P4_EULA_ID,P4_BUSINESS_AREA_ID:1…

CSS 的基础知识及应用

前言 CSS(层叠样式表)是网页设计和开发中不可或缺的一部分。它用于描述网页的视觉表现,使页面不仅实现功能,还能提供吸引人的用户体验。本文将介绍 CSS 的基本概念、语法、选择器及其在提升网页美观性方面的重要性。 什么是 CSS&…

C语言之装甲车库车辆动态监控辅助记录系统

🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之装甲车库车辆动态监控辅助记录系统 目录 一、前言 1.1 (一)…

python+django+Nacos实现配置动态更新-集中管理配置(实现mysql配置动态读取及动态更新)

一、docker-compose.yml 部署nacos服务 version: "3" services:mysql:container_name: mysql# 5.7image: mysql:5.7environment:# mysql root用户密码MYSQL_ROOT_PASSWORD: rootTZ: Asia/Shanghai# 初始化数据库(后续的初始化sql会在这个库执行)MYSQL_DATABASE: nac…

OpenEuler学习笔记(一):常见命令

OpenEuler是一个开源操作系统,有许多命令可以用于系统管理、软件安装、文件操作等诸多方面。以下是一些常见的命令: 一、系统信息查看命令 uname 用途:用于打印当前系统相关信息,如内核名称、主机名、内核版本等。示例&#xff…

聊聊如何实现Android 放大镜效果

一、前言 很久没有更新Android 原生技术内容了,前些年一直在做跨端方向开发,最近换工作用重新回到原生技术,又回到了熟悉但有些生疏的环境,真是感慨万分。 近期也是因为准备做地图交互相关的需求,功能非常复杂&#x…

C++,设计模式,【目录篇】

文章目录 1. 简介2. 设计模式的分类2.1 创建型模式(Creational Patterns):2.2 结构型模式(Structural Patterns):2.3 行为型模式(Behavioral Patterns): 3. 使用设计模式…

RabbitMQ集群安装rabbitmq_delayed_message_exchange

1、单节点安装rabbitmq安装延迟队列 安装延迟队列rabbitmq_delayed_message_exchange可以参考这个文章: rabbitmq安装延迟队列-CSDN博客 2、集群安装rabbitmq_delayed_message_exchange 在第二个节点 join_cluster 之后,start_app 就会报错了 (CaseC…

【C++】如何从源代码编译红色警戒2地图编辑器

【C】如何从源代码编译红色警戒2地图编辑器 操作视频视频中的代码不需要下载三方库,已经包含三方库。 一、运行效果:二、源代码来源及编程语言:三、环境搭建:安装红警2安装VS2022下载代码,源代码其实不太多&#xff0c…

下定决心不去读研了。。。

大家好,我是苍何。 之前发表过一篇文章,表达了自己读研的困惑和纠结,得到了大家很多的建议,也引起了很多人的共鸣,在留言区分享了自己的故事,看着这些故事,我觉得都够苍何写一部小说了。 可惜苍…

重温STM32之环境安装

缩写 CMSIS:common microcontroller software interface standard 1,keil mdk安装 链接 Keil Product Downloads 安装好后,开始安装平台软件支持包(keil 5后不在默认支持所有的平台软件开发包,需要自行下载&#…

[苍穹外卖] 1-项目介绍及环境搭建

项目介绍 定位:专门为餐饮企业(餐厅、饭店)定制的一款软件产品 功能架构: 管理端 - 外卖商家使用 用户端 - 点餐用户使用 技术栈: 开发环境的搭建 整体结构: 前端环境 前端工程基于 nginx 运行 - Ngi…