当前位置: 首页 > news >正文

JavaEE——File类

JavaEE传送门

JavaEE

JavaEE——常见的锁策略

JavaEE——认识文件


目录

  • File类
    • 1. Flie 概述
      • 属性
      • 构造方法
      • 方法
    • 2. 示例


File类

文件操作, 是属于操作系统层面, 提供的一些 API . 不同的操作系统, 提供的 API 是不一样的.

Java 作为一个跨平台的语言, 为了统一代码, 就在 JVM 中把不同系统的操作文件的 API 进行了封装, Java 就可以使用 Java 中的库的代码来操作文件了.

Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不代表真实存在该文件。

IO I input 输入; O output 输出

1. Flie 概述

属性

修饰符及类型属性说明
static StringpathSeparator依赖于系统的路径分隔符,String 类型的表示
static charpathSeparator依赖于系统的路径分隔符,char 类型的表示

构造方法

签名说明
File(File parent, String child)根据父目录 + 孩子文件路径,创建一个新的 File 实例
File(String pathname)根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径
File(String parent, String child)根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用

File(String pathname) 创建 File 对象的时候, 就可以指定一个路径 (绝对路径 or 相对路径).

方法

修饰符及返回值类型方法签名说明
StringgetParent()返回 File 对象的父目录文件路径
StringgetName()返回 FIle 对象的纯文件名称
StringgetPath()返回 File 对象的文件路径
StringgetAbsolutePath()返回 File 对象的文件路径
StringgetCanonicalPath()返回 File 对象的修饰过的绝对路径
booleanexists()判断 File 对象描述的文件是否真实存在
booleanisDirectory()判断 File 对象代表的文件是否是一个目录
booleanisFile()判断 File 对象代表的文件是否是一个普通文件
booleancreateNewFile()根据 File 对象,自动创建一个空文件。成功创建后返回 true
booleandelete()根据 File 对象,删除该文件。成功删除后返回 true
voiddeleteOnExit()根据 File 对象,标注文件将被删除,删除动作会到JVM 运行结束时才会进行
String[]list()返回 File 对象代表的目录下的所有文件名
File[]listFiles()返回 File 对象代表的目录下的所有文件,以 File 对象表示
booleanmkdir()创建 File 对象代表的目录
booleanmkdirs()创建 File 对象代表的目录,如果必要,会创建中间目录
booleanrenameTo(Filedest)进行文件改名,也可以视为我们平时的剪切、粘贴操作
booleancanRead()判断用户是否对文件有可读权限
booleancanWrite()判断用户是否对文件有可写权限

2. 示例

示例一 get相关方法

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

public class Test {
    public static void main(String[] args) throws IOException {
        File f = new File("./test.txt");

        System.out.println(f.getParent());
        System.out.println(f.getName());
        System.out.println(f.getPath());
        System.out.println(f.getAbsolutePath());
        System.out.println(f.getCanonicalPath());
    }
}

运行结果展示

示例二 普通文件的创建

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

public class Test {
    public static void main(String[] args) throws IOException {
        File f = new File("./test.txt");
        // 判定文件存在
        System.out.println(f.exists());
        // 判定是否是目录
        System.out.println(f.isDirectory());
        // 判定是否是文件
        System.out.println(f.isFile());

        // 创建文件
        f.createNewFile();

        // 判定文件存在
        System.out.println(f.exists());
        // 判定是否是目录
        System.out.println(f.isDirectory());
        // 判定是否是文件
        System.out.println(f.isFile());
    }
}

运行结果展示

示例三 普通文件的删除

import java.io.File;

public class Test {
    public static void main(String[] args) {
        File f = new File("./test.txt");
        f.delete();
    }
}

示例四 创建目录

import java.io.File;

public class Test {
    public static void main(String[] args) {
        /*File f = new File("./testDir");
        // 创建单层目录
        f.mkdir();*/

        File f = new File("./testDir/xixi/heihei");
        // 创建多层目录
        f.mkdirs();

        f = new File("./testDir/haha");
        f.mkdirs();

    }
}

示例五 重命名

import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        File srcFile = new File("xixi.txt");
        srcFile.createNewFile();
        File destFile = new File("heihei.txt");
        srcFile.renameTo(destFile);
    }
}

示例六 列出当前目录中有哪些文件

import java.io.File;
import java.util.Arrays;

public class Demo6 {
    public static void main(String[] args) {
        File f = new File("./testDir");
        String[] results = f.list();

        System.out.println(Arrays.toString(results));
    }
}

🌷(( ◞•̀д•́)◞⚔◟(•̀д•́◟ ))🌷

以上就是今天要讲的内容了,希望对大家有所帮助,如果有问题欢迎评论指出,会积极改正!!

在这里插入图片描述
加粗样式

这里是Gujiu吖!!感谢你看到这里🌬
祝今天的你也
开心满怀,笑容常在。

相关文章:

  • CANoe-如何模拟CAN总线网关通信(满满都是细节)
  • 请求转发与重定向
  • 如何使用OpenCV的随机森林(Python)
  • matlab神经网络预测数据,Matlab神经网络预测复数
  • 毕业设计 基于单片机的智能蓝牙密码锁设计与实现
  • 【线上实习项目】助力你的校招!
  • 吊打面试官系列之--吃透Spring ioc 和 aop (中)
  • Matlab制作GUI
  • Spring Data JPA或Spring Data JDBC中Like和Containing区别
  • SpringMVC04之JSON和全局异常处理
  • <C++> list容器本质|常用接口|自定义排序规则
  • 【Matlab】简单控制系统建模(控制系统工具箱)
  • 设计模式——模板模式
  • 倍投技巧 - 凯利公式教你如何用正确的方法投资
  • SpringBoot restful api接口设计
  • 08.Android之View事件问题
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • canvas 高仿 Apple Watch 表盘
  • CentOS 7 防火墙操作
  • Docker下部署自己的LNMP工作环境
  • Elasticsearch 参考指南(升级前重新索引)
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JavaScript 奇技淫巧
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java知识点总结(JavaIO-打印流)
  • miaov-React 最佳入门
  • react 代码优化(一) ——事件处理
  • Spring Boot MyBatis配置多种数据库
  • Web Storage相关
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 订阅Forge Viewer所有的事件
  • 对象管理器(defineProperty)学习笔记
  • 记一次和乔布斯合作最难忘的经历
  • 精彩代码 vue.js
  • 排序算法学习笔记
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 微信小程序开发问题汇总
  • 无服务器化是企业 IT 架构的未来吗?
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 阿里云重庆大学大数据训练营落地分享
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #14vue3生成表单并跳转到外部地址的方式
  • #define 用法
  • #宝哥教你#查看jquery绑定的事件函数
  • $.ajax()方法详解
  • $.proxy和$.extend
  • ${ }的特别功能
  • (分享)自己整理的一些简单awk实用语句
  • (接口自动化)Python3操作MySQL数据库
  • (十)DDRC架构组成、效率Efficiency及功能实现