java 文件File类概述

news2024/10/20 12:00:06

前言

在Java中,File类是一个与文件和目录(文件夹)路径名相关的抽象表示形式。它是java.io包中的一个重要类,用于表示和操作文件系统中的文件和目录。

File类的基本概念

  1. 表示路径:File类既可以表示文件路径,也可以表示目录路径。它是文件和目录路径名的抽象表示。
  2. 封装:Java通过File类将文件或目录封装成对象,使得对文件和目录的操作变得更加直观和方便。

一、三种构造方法创建File实例

如何实现: 

//三种创建File实例方法
import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        //File(String pathname)通过将给定的路径名字符串转化为抽象路径名来创建新的File实例
        File f1 = new File("E:\\itcast\\java.txt");
        System.out.println(f1);       //E:\itcast\java.txt 说明重写了

        //从父路径名字符串和子路径名字符串创建新的File实例
        File f2 = new File("E:\\itcast","java.txt");
        System.out.println(f2);       //E:\itcast\java.txt

        //从父抽象路径名和子路径名字符串来创建新的File实例
        File f3 = new File("E:\\itcast");
        File f4 = new File(f3,"java.txt");
        System.out.println(f4);       //E:\itcast\java.txt

    }
}

二、File类创建文件和目录

一些常用方法:

public boolean createNewFile()//当具有该名称的文件不存在时,创建一个由该抽象路径名命名的空文件
public boolean mkdir()创建由此抽象路径名命名的路径
public boolean mkdirs()创建由此抽象路径名命名的路径,包括任何必须但不存在的父目录
//注意三个方法都是布尔类型,创建成功返回true,创建失败返回false

如何使用:

import java.io.File;
import java.io.IOException;


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

        //1、在E:\\itcast目录下创建一个文件java.txt
        File f1 = new File("E:\\itcast\\java.txt");
        System.out.println(f1.createNewFile());

        //2、在E:\\itcast目录下创建一个目录JavaSE
        File f2 = new File("E:\\itcast\\JavaSE");
        System.out.println(f2.mkdir());

        //3、在E:\\itcast目录下创建多级目录JavaWEB\\HTML
        File f3 = new File("E:\\itcast\\JavaWEB\\HTML");
        System.out.println(f3.mkdirs());

        //注意同级目录下目录名和文件名都不能一样,否则会报错
    }
}

三、文件和目录的删除

一般方法:

 public boolean delete():删除文件或目录

 如何使用:

import java.io.File;
import java.io.IOException;

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

        File f = new File("File");
        File f1 = new File("File\\java.txt");
        File f2 = new File("File\\itcast");

        System.out.println(f.mkdir());//创建目录
        System.out.println(f1.createNewFile());//创建文件
        System.out.println(f2.mkdir());

        //public boolean delete():删除文件或目录

        //System.out.println(f.delete());//如果该目录下有其他文件或目录,则无法直接删除该目录

        System.out.println(f1.delete());//一次只能删除一个
        //System.out.println(f2.delete());
    }
}

四、File类判断和获取功能

判断的方法:

 public boolean isDirectory():测试此抽象路径名是否是目录
 public boolean isFile():测试此抽象路径名是否是文件
 public boolean exists():测试此抽象路径名表示的File是否存在

获取文件路径的方法:

 public String getAbsolutePath():获取绝对路径
 public String getPath()//将此抽象路径转换为路径名字符串
 public String getName()//返回此路径名表示的文件或目录

获取当前目录下所有的文件:

public String[] list():返回此路径名下的所有文件和目录名的字符串数组
public File[] listFiles():返回此路径名下的所有文件和目录名的地址字符串数组

如何使用:

public class FileDemo_03 {
    public static void main(String[] args) {
        //public boolean isDirectory():测试此抽象路径名是否是目录
        //public boolean isFile():测试此抽象路径名是否是文件
        //public boolean exists():测试此抽象路径名表示的File是否存在

        File f1 = new File("java.txt");
        System.out.println(f1.isDirectory());//false
        System.out.println(f1.isFile());//true
        System.out.println(f1.exists());//true

        //public String getAbsolutePath():获取绝对路径
        //public String getPath()//将此抽象路径转换为路径名字符串
        //public String getName()//返回此路径名表示的文件或目录

        System.out.println(f1.getAbsolutePath());
        System.out.println(f1.getPath());
        System.out.println(f1.getName());
        System.out.println("--------");

        //public String[] list():返回此路径名下的所有文件和目录名的字符串数组
        //public File[] listFiles():返回此路径名下的所有文件和目录名的地址字符串数组
        File f2 = new File("E:\\itcast");

        String[] str1 = f2.list();
        for(String str:str1)
            System.out.println(str);
        System.out.println("--------");

        File[] str2 = f2.listFiles();
        for(File str:str2)
            System.out.println(str);
    }
}

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

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

相关文章

【mod分享】波斯王子遗忘之沙高清重置,纹理,字体,贴图全部重置,特效增强,支持光追

各位好,今天小编给大家带来一款新的高清重置MOD,本次高清重置的游戏叫《波斯王子:遗忘之沙》。 《波斯王子:遗忘之沙》是由育碧(Ubisoft)开发并发行的一款动作类游戏,于2010年5月18日发行。游戏…

Linux执行source /etc/profile命令报错:权限不够问(已解决)

1.问题 明明以root账号登录Linux系统,在终端执行命令source /etc/profile时 显示权限不够 如下图: 2.问题原因 可能在编辑 /etc/profile 这个文件时不小心把开头的 井号 ‘#’ 给删除了 如图: 这里一定要有# 3.解决办法 进入/etc/pro…

用你的手机/电脑运行文生图方案

随着ChatGPT和Stable Diffusion的发布,最近一两年,生成式AI已经火爆全球,已然成为移动互联网后一个重要的“风口”。就图片/视频生成领域来说,Stable Diffusion模型发挥着极其重要的作用。由于Stable Diffusion模型参数量是10亿参…

PHP爬虫:获取商品销量数据的利器

在电子商务的激烈竞争中,掌握商品销量数据是商家洞察市场动态、制定销售策略的关键。通过PHP爬虫技术,我们可以高效地获取这些数据,为商业决策提供支持。 PHP爬虫的优势 PHP作为一种流行的服务器端脚本语言,拥有跨平台运行、丰富…

【C++篇】类与对象的秘密(上)

目录 引言 一、类的定义 1.1类定义的基本格式 1.2 成员命名规范 1.3 class与struct的区别 1.4 访问限定符 1.5 类的作用域 二、实例化 2.1 类的实例化 2.2 对象的大小与内存对齐 三、this 指针 3.1 this指针的基本用法 3.2 为什么需要this指针? 3.3 t…

数据结构——链表,哈希表

文章目录 链表python实现双向链表复杂度分析 哈希表(散列表)python实现哈希表哈希表的应用 链表 python实现 class Node:def __init__(self, item):self.item itemself.next Nonedef head_create_linklist(li):head Node(li[0])for element in li[1…

SQL Server 2019数据库“正常,已自动关闭”

现象: SQL Server 2019中,某个数据库在SQL Server Management Studio(SSMS)中的状态显示为“正常,已自动关闭”。 解释: 如此显示,是由于该数据库的AUTO_ CLOSE选项被设为True。 在微软的官…

JavaSE——IO流1:FileOutputStream(字节输出流)、FileInputStream(字节输入流)

目录 一、IO流概述 二、IO流的分类 三、字节输出流与字节输入流 (一)字节输出流——FileOutputStream 1.FileOutputStream书写步骤 2.FileOutputStream书写细节 3.FileOutputStream写数据的3种方式 4.FileOutputStream的换行和续写 (二)字节输入流——FileInputStream…

如何给手机换ip地址

在当今数字化时代,IP地址作为设备在网络中的唯一标识,扮演着举足轻重的角色。然而,有时出于隐私保护、网络访问需求或其他特定原因,我们可能需要更改手机的IP地址。本文将详细介绍几种实用的方法,帮助您轻松实现手机IP…

若依框架中spring security的完整认证流程,及其如何使用自定义用户表进行登录认证,学会轻松实现二开,嘎嘎赚块乾

1)熟悉之前的SysUser登录流程 过滤器链验证配置 这里security过滤器链增加了前置过滤器链jwtFilter 该过滤器为我们自定义的,每次请求都会经过jwt验证 ok我们按ctrl alt B跳转过去来看下 首先会获取登录用户LoginUser 内部通过header键,获…

Deep Learning

深度学习 文章目录 前言面向开发人员的 NVIDIA AI 平台每个 AI 框架 - 加速统一平台从开发到部署前言 深度学习是 AI 和机器学习的一个子集,它使用多层人工神经网络在对象检测、语音识别、语言翻译等任务中提供最先进的准确性。 深度学习与传统机器学习技术的不同之处在于,深…

python爬虫加解密分析及实现

第一种: 1、找到加密的接口地址,通过加密的接口地址全局搜索 2、通过打断点的方式,操作页面,跑到断点处时,即可找到加密串,如图二; 3、找到用的是哪种加密方式,如: cr…

PCL 点云配准 基于目标对称的ICP算法(精配准)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1计算点云的法线 2.1.2基于对称误差估计的ICP配准 2.1.3可视化 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总…

OpenCV高级图形用户界面(20)更改窗口的标题函数setWindowTitle()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在OpenCV中,cv::setWindowTitle函数用于更改窗口的标题。这使得您可以在程序运行时动态地更改窗口的标题文本。 函数原型 void cv::…

SpringBoot日常:封装redission starter组件

文章目录 逻辑实现POM.xmlRedissionConfigRedissionPropertiesRedissionUtilsspring.factories 功能测试application.yml配置POM.xmlTestController运行测试 本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并…

论文速读:通过目标感知双分支蒸馏进行跨域目标检测(CVPR2022)

原文标题:Cross Domain Object Detection by Target-Perceived Dual Branch Distillation 中文标题:通过目标感知双分支蒸馏进行跨域目标检测 论文地址: https://arxiv.org/abs/2205.01291 代码地址: GitHub - Feobi1999/TDD 这篇…

使用多块AMD GPU通过Megatron-DeepSpeed进行大型语言模型的预训练

Pre-training a large language model with Megatron-DeepSpeed on multiple AMD GPUs 2024年1月24日,作者:Douglas Jia 在这篇博客中,我们将向你展示如何使用Megatron-DeepSpeed框架在多块AMD GPU上预训练GPT-3模型。我们还将展示如何使用你…

5、JavaScript(二) 对象+DOM

17.对象 1、对象:⽤来存储多个数据的 是由多个键值对/key value对组成的 ⽤来描述⼀个事物的 相当于多个变量的集合 2、格式 :{key:value,key:value} 键/值对 属性名:属性值 3、对象的属性值是不限制数据类型的,甚至还可以是对…

常用的字符集(ASCII、GBK)

目录 1.ASCII字符集 2.各版本的字符集 3. GBK字符集在计算机中的存储规则 4. 总结 1.ASCII字符集 计算机中最小的存储单元是一个字节,一个字节8bit 0-127 一共是128个 2.各版本的字符集 只需要掌握GBK和Unicode两个字符集。GBK是简体中文window操作系统默认使…

85.【C语言】数据结构之顺序表的中间插入和删除及遍历查找

目录 3.操作顺序表 1.分析中间插入函数 函数的参数 代码示例 图片分析 main.c部分改为 在SeqList.h添加SLInsert函数的声明 运行结果 2.分析中间删除函数 函数的参数 代码示例 图片分析 main.c部分改为 在SeqList.h添加SLErase函数的声明 运行结果 承接84.【C语…