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

news2024/11/14 19:22:22

目录

一、什么是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类:即两个路径的拼接

代码示例:

public class myFileDemo_01 {
    public static void main(String[] args) {
        // method1();
        // method2();
        // method3();


    }

    private static void method3() {
        //3.从父抽象路径名和子路径名字字符串创建新的File实例(File与String进行拼接)
        File file = new File("D:\\学习视频2");
        String str = "\\09_第九章 IO流\\01_File";
        File file1 = new File(file, str);
        System.out.println(file1);
    }

    private static void method2() {
        // 2.从父路径名字字符串和子路径名字字符串创建新的File实例(两个String进行拼接)
        String str1 = "D:\\学习视频2";
        String str2 = "\\09_第九章 IO流\\01_File";
        File file = new File(str1, str2);
        System.out.println(file);
    }

    private static void method1() {
        //1.通过给定路径名字字符串转换为抽象路径名来创建新的File实例(将String类型转为File类型,便于使用File的方法)
        String str = "D:\\学习视频2\\09_第九章 IO流\\01_File";
        File file = new File(str);
        System.out.println(file);
    }
}

二、绝对路径与相对路径

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

例子:


三、File类的成员方法

1.File类的创建功能

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

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

代码示例:

public class myFileDemo_02 {
    public static void main(String[] args) throws IOException {
        //  method1();
        //  method2();
        // method3();

    }

    private static void method3() {
        //在D:\\A下创建一个名为a、b、c的多级文件夹
        //注意点:
        //1.mkdirs()也可以创建单级文件夹
        //2.mkdirs()只能创建文件夹
        File file = new File("D:\\A\\a\\b\\c");
        boolean result = file.mkdirs();
        System.out.println(result);
    }

    private static void method2() {
        //在D:\\A下创建一个名为a的单级文件夹
        //注意点:
        //mkdir()不管有没有后缀,只能创建单级文件夹
        File file = new File("D:\\A\\a");
        boolean result = file.mkdir();
        System.out.println(result);
    }


    private static void method1() throws IOException {
        //在D:\\A下创建一个名为a的空文件
        //注意点:
        //1.当文件已经存在时,创建失败,返回false;反之返回true
        //2.createNewFile()不管有没有后缀,只能创建文件
        File file = new File("D:\\A\\a");
        boolean result = file.createNewFile();
        System.out.println(result);
    }

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

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

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

2.File类的删除方法

(1)delete()方法

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

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

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

4.File类的高级获取功能

(1)listFile()方法

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

代码示例:

 注意点:
   1.当调用者是一个文件时:返回null
   2.当调用者是一个空文件夹时:返回长度为0的数组
   3.当调用者是一个文件夹时:获取这个文件夹里面所有的文件和文件夹的File对象,并把这些File对象都放在一个数组中返回(包括隐藏文件和隐藏文件夹)
    4.当调用者是一个有权限才能进入的文件夹时:返回null
*/
package myFileDemo;

import java.io.File;

public class myFileDemo_05 {
    public static void main(String[] args) {
        File file =new File("D:\\");
        File[] files = file.listFiles();    //返回值是一个File类型的数组
        for (File path : files) {
            System.out.println(path);
        }

    }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CY5.5(Cyanine5.5) azide, 10 mM/DMSO,花菁染料Cy5.5标记叠氮

产品名称:花菁染料Cy5.5标记叠氮 英文名称:CY5.5(Cyanine5.5) azide 该染料具有远红外/近红外发射,可用于NIR活体成像。Cyanine5.5可以取代Cy5.5、Alexa Fluor 680和DyLight 680。 CAS:2183440-52-8 分子式:C43H49ClN6O 分子量:701.36 …

简单工厂、工厂方法、抽象工厂、抽象工厂加简单工厂

简单工厂模式:简单工模式时类的创建模式,又叫做静态工厂方法(static Factory Method)。简单工厂模式是一个工厂对象决定创建出哪一种产品类的实例。它存在的目的很简单:定义一个创建对象的接口。简单工厂模式的最大优点…

Spring Boot之容器功能

目录 一.Spring 注入组件的注解 二.Configuration 1.代码演示 1.1JavaBean--》Monster.java 1.2配置类 1.3执行代码 2.Configuration 注意事项和细节 三.Import 1.创建两个JavaBean类 2.注入类 3.测试注解的使用 四.Conditional 1.Conditional 介绍 2.应用实例 …

攻防世界 看雪看雪看雪

看雪看雪看雪 题目附件里面给了张图 尝试文件拆解 无果 尝试放入winhex查找信息 无果 尝试放入stegsolve查找信息 无果 题目说雪 刚好有一种snow隐写的方法 但好像跟图片没有什么关系 后来发现存在ntfs流隐写 你解压之后也可以看到 这里我们使用7zip打开附件的压缩包…

【长难句分析精讲】同位语从句

分析技巧 形式: 抽象名词 that / whether形式: 具体名词 同位语(名词短语)如:成都,四川省会 练习一 一划二从三主 这里 and 不是关键词 苹果掉到地上而不是掉到树上这个事实,回答了他一直都…

【Jmeter基础篇】05:Linux服务器上部署并运行Jmeter脚本

配置之前请务必已安装JDK并配置好JDK的环境变量。 1. 上传压缩包到Linux服务器 使用FTP即可(最好是新建一个/usr/Application/Jmeter的文件夹,放进去。也可以使用自己喜欢的路径) # -p的作用是防止当上层文件夹不存在时报错。想体验的话可以…

Flink的六种物理分区策略

文章目录物理分区(Physical Partitioning)🍕1.随机分区(shuffle)🍔2.轮询分区(Round-Robin)🍟3. 重缩放分区(rescale)🌭4.广播&#x…

深度学习入门(三十八)计算性能——多GPU训练

深度学习入门(三十八)计算性能——多GPU训练前言计算性能——多GPU训练课件多GPU并行数据并行VS模型并行数据并行总结教材1 问题拆分2 数据并行性3 简单网络4 数据同步5 数据分发6 训练7 小结多GPU的简洁实现1简单网络2 网络初始化3 训练4 小结前言 核心…

因子特征工程:alphalens库深度解析

原创文章第107篇,专注“个人成长与财富自由、世界运作的逻辑, AI量化投资”。 前面的文章我们把数据,因子定制,自动标注的功能都准备好了,今天继续因子分析,分析的框架当然还是alphalens。 星球有一期研报…

Babel插件指南

Babel插件指南 文章目录Babel插件指南Babel简介AST(Abstract syntax tree)简介ESTree AST NodeVisitors(访问者)Babel APIbabylonbabel-traversebabel generator项目中实践引用自定义的babel插件新增插件js文件确定要实现的功能,编译成AST进行…

绘制花朵-第13届蓝桥杯Scratch选拔赛真题精选

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第78讲。 蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选…

OpenYurt v1.1.0: 新增 DaemonSet 的 OTA 和 Auto 升级策略

作者:昌蒲、侯雪城 边缘计算云原生平台、CNCF SandBox 项目 - OpenYurt [1 ] ,近期发布了 v1.1.0 版本。 OpenYurt 作为边缘云原生领域的开源项目,采用云管边的云边一体化架构,致力于解决云原生落地边缘计算场景的痛点问题。针对…

扩充antd的Icon图标库

一、功能介绍 项目中有个菜单图标支持配置的功能,如下 二、遇到的问题 上面的图标都是antdIcon组件自带的,只需要给Icon传不同的type就可以显示出来不同的图标,但是我现在需要将自己的图标也放到这个里面,而且实现通过传个type…

asp.net+sqlserver个人简历生成系统C#项目

目 录 1 项目来源 1 1.1 项目背景 1 1.2目的和意义 1 1.3研究成果 2 2 系统开发环境 3 2.1 Visual Studio.NET开发平台 3 2.2 ASP.NET 2.0开发技术 3 2.3 ADO.NET数据访问技术 4 2.4 Microsoft SQL Server简介 4 2.5 B/S结构 5 3 需求分析 6…

服务端Skynet(五)——如何搭建一个实例

服务端Skynet(五)——如何搭建一个实例 文章目录服务端Skynet(五)——如何搭建一个实例1、配置文件2、服务消息分发与回应(call/send)3、通信(server/client)4、Mysql连接1、配置文件 ​ 搭建一个实例 主要看 config 文件的设置,如下: --config inclu…

RK3399驱动开发 | 15 - RTC实时时钟芯片HYM8563S调试(基于linux5.4.32内核)

文章目录 一、Linux RTC设备驱动框架二、HYM8563实时时钟芯片1. 简介2. 引脚图3. 连接原理图三、设备驱动调试1. 设备树节点描述2. 使能内核驱动3. 测试四、hym8563驱动实现分析1. i2c设备驱动框架2. rtc设备注册流程3. 通过i2c驱动操作硬件一、Linux RTC设备驱动框架 Linux内…

宝塔防火墙必要的快速操作指令

重新启动、禁止固定ip等 重启firewall-cmd --reload 禁止固定ip:firewall-cmd --permanent --add-rich-rulerule family"ipv4" source address"192.168.1.1" reject 取消富规则:firewall-cmd --list-rich-rules 删除富规则&#…

Java#9(文字格斗游戏和对象数组练习)

目录 一.文字格斗游戏 二.对象数组 三.键盘录入练习 四.复杂对象数组练习 题目要求: 一.文字格斗游戏 Role类的代码 package Game;import java.util.Random;public class Role {String name;int blood;public Role() {}public Role(String name, int blood) {this.name na…

Node.js 流 Stream【详解】

什么是流? 流是一种将整体数据分割成多个小块依次进行处理的方式。 举个形象的例子: 山上有1000颗拳头大的小石子,需要搬下山。 传统的处理方式:安排一辆大卡车,一次性将石子全部运下山。流的处理方式:修…

Nginx制作下载站点

nginx使用的是模块ngx_http_autoindex_module来实现的,该模块处理以斜杠(“/”)结尾的请求,并生成目录列表。 nginx编译的时候会自动加载该模块,但是该模块默认是关闭的,使用下来指令来完成对应的配置 autoindex 启用或禁用目录…