JavaIO流入门1文件File

简介: IO流入门1 文件FileFile流层次图创建文件对象相关的构造和方法方式一:new File(路径)方式二 new File(父目录文件对象, 子路径)方式三:new File(父目录文件,子路径)常用的文件操作目录的操作和文件的删除boolean mkdirs = file.mkdirs();//创建多级目录

File流层次图

982fa313b5224ec7a4a8a51cb656672e.png

创建文件对象相关的构造和方法


常用的三种创建对象的方法:


方式一:根据路劲构建一个File对象


方式二:根据父目录文件对象+子路径构建


方式三:根据父目录文件+子路径构建


构建形式new File();


createNewFile()方法才会创建文件到磁盘上!


方式一:new File(路径)


new File(String pathname)


new File(String pathname)根据路劲构建一个File对象


直接写入文件路径就ok了


 @Test
    public void create01(){
        //直接把路径写清楚就可以了
        String filePath="f:\\news1.text";
        File file = new File(filePath);
        try {
            file.createNewFile();//会报一个IO异常。
            System.out.println("文件创建成功!!!!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

b176b425f66240f28d0074c57de4eca1.png

方式二 new File(父目录文件对象, 子路径)


//根据父目录文件对象+子路径构建


//如果创建"f:\news2.text" 则parentfile 就是f:\


 @Test
    public void create02(){
        File parentfile = new File("f:\\");//父目录文件
        String fileName="news2.text";//子路径
        File file = new File(parentfile, fileName);
        try {
            file.createNewFile();
            System.out.println("文件创建成功!!!!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

f73b5f26a89940aaa63c0030ab3ad5b6.png747e20eeb78c4b599ea77f9852d5b62e.png

``createNewFile()`方法才会创建文件到磁盘上!


常用的文件操作


da7f818e4e864ff6bb7aea197348ccbc.png


一些小案列:


@Test
    public void info(){
        //先创建文件对象
        File file = new File("f:\\news1.text");
        //调用相应的方法就行,看一个案列
        System.out.println("文件名字:"+file.getName());
        System.out.println("绝对路径:"+file.getAbsolutePath());
        System.out.println("文件父目录:"+file.getParent());
    }


成功拿到文件名字:

bc65af853c6444bf8628f13dfd5a06be.png


接下来演示获取文件大小


我们先打开文件编辑一点文字


一个汉字3字节 一个字母1字节


2bc500d2fc734dadb68ccb8d7b68a9ab.png


```java
 @Test
    public void info(){
        //先创建文件对象
        File file = new File("f:\\news1.text");
        //调用相应的方法就行,看一个案列
        System.out.println("文件名字:"+file.getName());
        System.out.println("绝对路径:"+file.getAbsolutePath());
        System.out.println("文件父目录:"+file.getParent());
        System.out.println("文件大小(按字节):"+file.length());
    }


f3985686f8ec468aa20e3552bc41bdb6.png

目录的操作和文件的删除


mkdir:创建一级目录


mldirs:创建多级目录


delete:删除空目录或者文件


删除操作


public void m1(){
        String fileName="F://news2.text";
        String fileName2="F://news4.text";
        File file = new File(fileName);
        File file2 = new File(fileName2);
        if(file.exists()){
            boolean delete = file.delete();
            if(delete){
                System.out.println("news2.text删除成功");
            }else{
                System.out.println("news2.text删除失败");
            }
        }else{
            System.out.println("对不起没有该文件");
        }
        if(file2.exists()){
        }else{
            boolean delete = file.delete();
            if(delete){
                System.out.println("news4.text删除成功");
            }else{
                System.out.println("news4.text删除失败");
            }
            System.out.println("对不起没有该文件news4.text");
        }
    }


0f90ccec902d4b5b903adb6c067e08aa.png


判断目录是否存在


体会:在Java编程中,目录也是一种文件的存在


先创建一个文件


8343a75cda9d44ba88d3634c18703a15.png

 @Test
    public void m2(){
        String fileName="F://Demo";
        File file = new File(fileName);
        if(file.exists()){
            boolean delete = file.delete();
            if(delete){
                System.out.println("删除成功");
            }else{
                System.out.println("删除失败");
            }
        }else{
            System.out.println("对不起没有该目录");
        }
    }

7b59ec2016724f268a893f0a0f9e3159.png


boolean mkdirs = file.mkdirs();//创建多级目录

判断"F://Demo//a"是否存在?不存在就创建


mkdir()创建一级目录


mkdirs()创建多级目录


@Test
    public void m3(){
        String fileName="F://Demo//a";
        File file = new File(fileName);
        if(file.exists()){
            System.out.println("该目录存在");
        }else{
            boolean mkdirs = file.mkdirs();//创建多级目录
            if(mkdirs){
                System.out.println("创建成功");
            }else{
                System.out.println("创建失败");
            }
        }
    }


第一次运行:


f38a656cc26f401298c2d3152314593f.png


第二次运行:


73aaeefd505f4df293851298c2c6388d.png

目录
相关文章
|
4月前
|
SQL 人工智能 中间件
GraphRAG + Multi-Agent 凭什么登上 Nature?
2026年5月《Nature Scientific Reports》刊发突破性论文:首创GraphRAG+Multi-Agent+多模态融合的五层统一平台,将Multi-hop QA准确率提升46%,实现真实业务落地(ATS/Text-to-SQL/Research Assistant),工程可复现、架构可复用。(239字)
412 0
|
机器学习/深度学习 人工智能 达摩院
10万亿!达摩院发布全球最大AI预训练模型M6
今天,阿里巴巴达摩院公布多模态大模型M6最新进展,其参数已从万亿跃迁至10万亿,成为全球最大的AI预训练模型。
9639 0
10万亿!达摩院发布全球最大AI预训练模型M6
|
7月前
|
人工智能 JavaScript 机器人
OpenClaw(Clawdbot)阿里云轻量服务器部署+Discord机器人搭建|零代码命令速通+常见问题全解
2026年,OpenClaw(原Clawdbot)凭借轻量化部署、多平台接入与灵活的Skill扩展能力,成为个人与团队搭建专属AI助手的首选工具。对于新手而言,阿里云轻量服务器是部署OpenClaw的最优选择——成本低、稳定性强、7×24小时在线,搭配Discord可快速搭建能聊天、执行指令、自动处理任务的AI机器人。
646 13
|
3月前
|
SQL JSON 安全
Agent 小知识|让 Agent 调对工具:输入输出契约的设计
本文详解Agent工具调用的输入输出契约:输入契约规范工具名称、描述、参数Schema与使用边界,确保模型准确调用;输出契约定义结构化结果、状态码与错误反馈,支撑模型可靠决策。二者共同保障Agent“思考→行动→判断”闭环的稳定性与可解释性。
219 0
Agent 小知识|让 Agent 调对工具:输入输出契约的设计
|
3月前
|
人工智能 数据挖掘 数据库
同一个问题问AI两次,答案居然不一样?别慌,问题出在这5个地方
AI输出不一致?并非“抽风”,而是5大可控因素:Temperature/Top-P参数、开放Prompt、上下文干扰、模型版本更新、输入歧义。掌握参数锁定、模板化Prompt、任务拆解与智能体编排等工程化方法,即可大幅提升稳定性与复现性。(238字)
|
4月前
|
人工智能 机器人 语音技术
听懂、接住、说得自然:一通好的智能外呼到底需要什么?
阿里云智能联络中心2.0聚焦真实外呼场景,通过全链路优化实现1.8秒内极速响应、行业级ASR/语义理解、自然打断承接与拟人化语音,解决“听不懂、接不住、说不自然”三大痛点,让AI外呼从“拨出去”真正升级为“聊下去、转化成”。
420 0
|
5月前
|
人工智能 JSON 供应链
畅用无影JVS Claw全攻略:学生专享7个月免费使用+GeoMind科研产业情报可视化改造教程
在AI智能体与自动化工具快速普及的当下,JVS Claw凭借轻量化运行、多场景适配、可扩展技能生态,成为科研、产业分析、办公自动化领域的实用工具。但不少用户面临使用时长有限、积分不足、功能难以满足专业场景等问题。本文将完整分享**学生认证专享7个月无影JVS Claw免费使用方法**,并详细讲解如何将通用JVS Claw改造为专注科研与产业地理情报的可视化助手,依托GeoMind开源项目实现飞书文档解析、实体抽取、地理编码、产业链关系建模与地图可视化,让普通AI工具升级为垂直领域生产力工具。
454 2
|
6月前
|
JavaScript 前端开发 Java
编程语言选型困难症?这份指南帮你找到最合适的“工具
本文系统解析编程语言选型核心逻辑:以“执行方式”(编译型/C、解释型/Python、字节码型/Java)和“编程范式”(面向过程、面向对象、函数式)为两大主线,结合项目类型、团队能力、性能需求等五步实战法,助你避开盲目追新等常见误区,理性选择最适合的编程语言。
编程语言选型困难症?这份指南帮你找到最合适的“工具
|
存储 安全 Java
深入理解 Java 中的 instanceof 关键字
本文深入解析了 Java 中的 `instanceof` 关键字,探讨其在类型判断中的作用。作为二元操作符,`instanceof` 可用于检查对象是否为某类实例或实现特定接口,避免类型转换异常 (`ClassCastException`)。文章通过多态性下的类型判断、安全类型转换、接口实现检测及集合元素类型判定等实际应用场景,展示了 `instanceof` 的强大功能。掌握该关键字可提高代码健壮性,确保运行时类型安全。
1294 0
|
Java API Android开发
你有没有想过自己写一个Xposed模块?教程来了~(一)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
925 0