File类的使用(一)上

简介: File类的使用(一)

接下来,老蝴蝶带着大家学习一下 IO 流。 学习IO 流之前,一定要先学习一下,关于文件 File 的操作。


我们平常常说的文件File 和目录 Directory 都使用 java.io.File 类进行表示。


一. File 类的两个静态系统常量


一.一 方法


image.png


一.二 演示


  /**
     * 测试路径常量
     */
    @Test
   public void pathTest(){
        //windows 系统为 ; linux为 :
        System.out.println("路径分隔符:"+File.pathSeparator);
        // windows 系统为 \, linux 为 /
        System.out.println("文件分隔符:"+File.separator);
   }


控制台打印输出:


20200617080315788.png


image.png


路径拼接时,为了避免系统差异,应该用常量去连接路径。 (系统常量小写,是Java 历史原因。)


二. File 的构造方法


二.一 方法


image.png


二.二 演示


 /**
     * 测试构造方法
     */
    @Test
   public void contrTest(){
       //1. 最常用的还是第一种, 绝对路径
       File file1=new File("E:"+File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
       +File.separator+"Hello.txt");
       System.out.println("文件1内容长度:"+file1.length());
       // 以 src 开头, 传入相对路径
        File file11=new File("src"+File.separator+"Hello.txt");
        System.out.println("文件11内容长度:"+file11.length());
        // 2. 父路径 和 当前文件名
        File file2=new File("E:"+File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc","Hello.txt");
        System.out.println("文件2内容长度:"+file2.length());
        //3. 父文件和 当前文件名
        File parent=new File("E:"+File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc");
        File file3=new File(parent,"Hello.txt");
        System.out.println("文件3大小:"+file3.length());
        //4. 网络路径 file:/E:.... 具体的路径 
        URL url= null;
        try {
            url = new URL("file:"+File.separator+"E:"+File.separator+"ideaWork"+File.separator
+"Java2"+File.separator+"fileSrc"
                    +File.separator+"Hello.txt");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        File file4= null;
        try {
            file4 = new File(url.toURI());
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        System.out.println("文件4大小:"+file4.length());
  }


控制台打印输出:


20200617080324785.png


三. 文件的基本操作


包括 文件的创建,文件的删除,判断文件是否存在,文件的重命名。


三.一 方法


image.png


三.二 演示


  /**
     * 创建,删除,判断是否存在,重命名 操作。
     */
   @Test
   public void operTest() throws Exception{
       //1. 定义一个文件, 没有这个文件
       File file=new File("E:"+File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
               +File.separator+"Hello2.txt");
       //如果文件存在
       if(file.exists()){
           //删除文件
           //file.delete();
           //定义新的文件
           File newFile=new File("E:"+File.separator+"ideaWork"+File.separator+"Java2"+File.separator+"fileSrc"
                   +File.separator+"HelloNew2.txt");
           //重命名文件, 文件的内容依旧保存。
           file.renameTo(newFile);
       }else{
           //创建文件
           file.createNewFile();
       }
   }


运行程序,文件系统进行查看。 刚开始是没有这个文件 Hello2.txt 的。


第一次运行前:


20200617080331742.png


第一次运行后:


20200617080336743.png


再一次运行:


2020061708034156.png


发现,成功 重命名了。 如果是重命名的话, 那么文件的内容依旧还是在的。


如果执行 file.delete() 的操作,那么会发现,文件成功删除了。


20200617080345776.png



相关文章
|
2天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
13天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1281 5
|
12天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1308 87
|
1天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
171 82
2025年阿里云域名备案流程(新手图文详细流程)
|
1天前
|
自然语言处理 前端开发
基于Electron38+Vite7.1+Vue3+Pinia3+ElementPlus电脑端admin后台管理模板
基于最新版跨平台框架Electron38整合Vite7+Vue3+ElementPlus搭建轻量级客户端中后台管理系统解决方案。
151 86