I/O文件File类的方法和操作案例

浅学一下I/O流和File类文件操作 目录I/O流原理及流的分类I/O原理I/O流的分类I/O的体系结构文件(File)概念常用操作(File类)遍历目录 I/O流原理及流的分类 I/O原理 I/O是Input和Output的缩写,IO技术是非常实用的技术,用于处理数据传输(如:读/写文件,网络通信) Java程序中,对于数据的输入/输出操作是以流(stream)的方式进行的 java.io包下提供了各种流(stream)类和接口,用以获取不同种类的数据,并通过方法输入和输出数据。 I/O流的分类 按操作数据单位分为:字节流(二进制 阅读详情

目录

引言

一,File工具类构造方法

二,File类的常用方法

三,File类操作案例

3.1,建立文件

3.2,读取文件

3.3, 文件批量命名

3.4,删除文件夹(包括目录和文件) 


引言

        java中我们通过java.io.File类实现对文件的基本属性进行操作,包括文件属性读取,文件创建,文件删 除,文件添加等等。File是一个类,那么在使用的时候就需要创建对象,但是File类的实例是不可变的,也就 是说,一旦创建,由File对象表示的抽象路径名将永远不会改变,也就是说利用构造方法,指定路径名、文件 名等来构造File类的对象,之后调用该对象的createNewFile()方法就可以创建出相应的文件。

        File类的对象可以代表一个具体的文件路径,在实际运用种,可以使用绝对路径也可以使用相对路径, 下面是创建文件对象实例

一,File工具类构造方法

构造方法说明
new File("d:\test\test.txt")指定的目录下建立文件,如果路径不存在,则建立虚拟file对象
new File("test.txt")在当前项目根目录下建立文件 test.txt
new File("d:\test")test可以是个目录,也可能是个文件
new File("d:\test\","test.dat")指定目录下,建立指定的文件

        1. File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。如果给定字符串是空字符串,那么结果 是空抽象路径名。

        2. File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例,如果 parent 为 null,则创 建一个新的 File 实例,这与调用给定 child 路径名字符串的单参数 File 构造方法的效果一样。否则, parent 抽象路径名用于表示目录,child 路径名字符串用于表示目录或文件。如果 child 路径名字符串 是绝对路径名,则用与系统有关的方式将它转换为一个相对路径名。如果 parent 是空抽象路径名,则通过将 child 转换为抽象路径名,并根据与系统有关的默认目录解析结果来创建新的 File 实例。否则,将每个路 径名字符串转换为一个抽象路径名,并根据父抽象路径名解析子抽象路径名。

        3. File(String parent, String child) parent指定路径(父目录),可以是File类对象也可以是字符串,child中也可以加入路径层级,但要注 意,所用的路径必须存在,不存在的路径不会新建。

二,File类的常用方法

方法说明
File.delete()删除文件或空目录文件夹目录
File.createNewFile()创建一个新的空文件
File.mkdir()创建一个新的空文件夹
File.mkdirs()批量建立多级目录
File.list()获取指定目录下的文件和文件夹名称
File.listFiles()获取指定目录下的文件和文件夹对象
File.exists()文件或者文件夹是否存在
String getParent()返回父目录的路径名字符串;如果没有指定父目录,则返回 null
File getParentFile()返回父目录File对象
String getName()返回文件或文件夹的名称
String getAbsolutePath()获取绝对路径
String getPath()返回路径名字符串
ong lastModified()返回文件最后一次被修改的时间
long length()获取长度,字节数
boolean canRead()判断是否可读
boolean canWrite()判断是否可写
boolean isHidden()判断是否隐藏
boolean renameTo(File dest)重命名,剪切粘贴文件,移动文 件

示例代码:

public static void main(String[] args) throws Exception {
        File file = new File("c:\\51gjie.txt");
        //返回文件的长度
        System.out.println("length==" + file.length());
        //创建文件对象
        File file3 = new File("c:\\51gjie", "code");
        //判断文件或文件夹是否存在
        boolean exists = file3.exists();
        if (exists) {
            file3.delete();//存在就删除
        } else {
            file3.mkdirs();//不存在就创建
        }
        //判断该对像是否为一个文件夹。【文件夹必须存在】
        boolean isd = file3.isDirectory();
    }

三,File类操作案例

3.1,建立文件

示例代码:

try (FileOutputStream filew=new FileOutputStream("C:\\\\Users\\\\21309\\\\Desktop\\khb.txt",true)){
            filew.write("hello你好".getBytes(StandardCharsets.UTF_8));
                }catch (Exception e){
        }

输出结果:

3.2,读取文件

示例代码:

try (FileReader reader=new FileReader("C:\\\\Users\\\\21309\\\\Desktop\\khb.txt")){
            while(reader.ready()){
                System.out.println((char)reader.read());
            }
                }catch (Exception e){
                }

输出结果:

3.3, 文件批量命名

示例代码:

public static void main(String[] args) {
        //获取要批量改名的文件夹路径
        String src="C:\\Users\\21309\\Pictures\\二维码";
        File file=new File(src);
        if (file.isDirectory()){
            //将文件夹下的文件存入数组
            File[] files=file.listFiles();
            //声明一个计数器
            int index=0;
            //遍历遍历文件夹下的子文件
            for (File file1 : files) {
                //获取文件夹下子文件的文件名
                String filename=file1.getName().toLowerCase(Locale.ROOT);
                //截取文件后缀名
                int pos=filename.lastIndexOf(".");
                String exn=filename.substring(pos+1);
                //判断是否为相同文件名文件
                if ("png".equalsIgnoreCase(exn)){
                    //设置文件同意命名格式
                    String newFilename=String.format("优快云-%03d.%s",++index,exn);
                    //将文件按规定格式命名
                    file1.renameTo(new File("C:\\Users\\21309\\Pictures\\二维码",newFilename));
                }
            }
        }
    }

输出结果:

 

3.4,删除文件夹(包括目录和文件) 

示例代码:

public static void main(String[] args) {
        String path = "C:\\Users\\21309\\Pictures\\联想截图";
        File file = new File(path);
        del(file);
        System.out.println("删除成功");
    }

    public static void del(File src) {
        //判断给定文件是否为目录
        if (src.isDirectory()) {
            //是目录的话遍历
            for (File file : src.listFiles()) {
                //如果目录下仍有目录
                if (file.isDirectory()) {
                    //递归使用del()
                    del(file);
                } else {
                    //如果不是目录,删除文件
                    file.delete();
                }
            }
        }
        //删除目录
        src.delete();
    }

基于遗传算法改进BP神经网络的电池容量SOC预测 ,遗传算法BP神经网络能很好的实现对电池容量soc的训练和预测,BP神经网络是一种成熟的神经,相对于其他神经网络,拥有很多的训练函数,传递函数,可以调节的参数非常多,对各种问题都可以达到一个比较理想的效果,关键看如何调试参数,选择训练传递函数,遗传算法改进BP神经网络的初始权值阈值,达到改进BP神经网络的目的,从而更好的实现对电池容量SOC的预测 阅读详情

相关推荐

VCSA 上的 vmware-vpxd 服务失败,Web端提示503 服务不可用 (503 Service Unavailable)

昨晚VCSA碰到一个很诡异的问题: 使用 vSphere Web Client 连接到 vCenter Server Appliance时失败,提示: 503 服务不可用 (503 Service Unavailable) 无法连接端点 (Failed to connect to endpoint):[N7Vmacore4Http20NamedPipeServiceSpecE:0x00007f975808ee30] _serverNamespace = / action = Allow _pipeNam

徐华的博客 2万+

File file=new File(filePath)报空指针

刚开始代码是这么写的:String filePath = request.getSession(true).getServletContext().getRealPath("prCodeImages"); File prCodeFile = new File(filePath); if(!prCodeFile .exists() && !prCodeFile

sky_blue_flying的博客 7054

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7688

文件操作IO-Part2

目录操作文件的方法重点方法构造方法对于文件树结构的修改方法创建新文件方法创建目录删除文件方法移动节点(重命名) 判断文件属性判断是否存在方法判断文件存在&&是文件夹判断文件存在&&是普通文件获取文件标准路径返回文件的一般绝对路径 返回文件的标准绝对路径针对目录 对此路径进行遍历获取文件名方法得到文件名(当前文件名,没有路径其他信息)得到父类文件名得到该文件最后一次修改的时间得到文件的所有孩子相对路径进程运行时的工作目录在哪?关于内容的读写内容的读写——关于读的内容读文件用到的类和模型1.输入流2.使用具体类

weixin_65278827的博客 1212

【UV打印机】PrintExp打印软件教程(四)-设置校准电压

序号名称功能说明1校准材料设置定义当前打印材料,不同的材料参数绑定不同的校准值2向导勾选进行校准向导操作3校准类型包括喷头安装、步进校准、喷头间距、套色校准、双向校准4类型子项同类型子项5操作步骤校准存在步骤和校准说明示意图。

Print World的专栏 5074

5G NR 物理层 流程一:从帧结构到TB块,PDSCH/PUSCH 资源映射与TBS计算实战

本文详细解析了5G NR物理层流程,从帧结构到TB块的计算,重点介绍了PDSCH/PUSCH资源映射与TBS计算的实战方法。通过具体案例和公式推导,帮助工程师掌握5G NR资源分配、MCS选择及TBS量化过程,解决实际部署中的常见问题。

weixin_30897233的博客 94

File类简介与File中相关的方法说明

File类的一个对象可以代表一个文件或文件目录(文件夹),File类中的文件和文件目录路径的抽象表示形式,与平台无关,File能新建,删除,重命名文件和目录,但File不能访问文件内容本身,如果需要访问文件本身内容,则需要输入/输出流,File对象可以作为参数传递给流的构造器。 File类中文件的方法 /** * 测试File类中文件的方法 */ @Test public void test2() { //指定一个文件的绝对路径 String filePath = "/Application.

weixin_42614150的博客 1528

瑞萨CS+仿真器高级配置指南:从原理到实战优化RX系列MCU调试

在嵌入式系统开发中,仿真器是进行早期验证和深度调试的核心工具。它通过精确模拟目标微控制器的指令集、内存和外设行为,构建了一个虚拟的硬件沙盒环境。其工作原理在于对CPU核心、时钟系统和外设接口的软件模拟,使开发者能在无物理硬件时进行代码逻辑验证、内存布局规划和时序分析。这项技术的核心价值在于大幅降低开发成本、加速问题定位,并支持复杂场景的复现与测试。在瑞萨RX系列MCU开发中,CS+集成开发环境内置的仿真器功能尤为强大。本文聚焦于**指令解码缓存**和**外设时钟比率**等关键配置的深度解析,阐述如何通过优化

cmff98425的博客 1119

Java File类(文件操作类)详解

在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。

Itmastergo的博客 2330

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

利用Arcgis发布wmts服务

使用发布 GIS 服务连接连接到 ArcGIS Server 站点后,可以将各种 GIS 资源(如地图文档、数据库以及服务定义)发布到服务器上。此外,还可以添加、删除、启动和停止服务。使用管理 GIS 服务器连接到 ArcGIS Server 站点后,可以编辑各种服务器属性,例如配置存储位置、集群配置、参与到该站点中的计算机列表以及管理站点的数据存储。通过使用 GIS 服务连接建立连接后,可以查看并使用发布到该站点的服务。但不能编辑服务器或服务属性、发布服务,也不能添加、删除、启动、停止或暂停服务。

ghgfsasxda的博客 2392

IO 1.0

I/O流 输入流:磁盘 -----》内存; 输出流:内存 -----》磁盘; 输入流:InputStream、Reader; 输出流:OutputStream、Writer; 一、File 1.1、常见的文件操作 创建文件对象相关构造器和方法; new File(String pathname) //根据路径构建一个File对象 new File(File parent,String child) //根据父目录文件 + 子路径构建 new File(String parent,String c

weixin_45467873的博客 341

三角洲行动交易行自动化脚本

DFMarketBot - 三角洲行动自动交易助手 DFMarketBot是一款专为三角洲行动游戏设计的交易行自动化工具,通过OCR识别和鼠标模拟实现自动补卡、补子弹功能。项目采用Python开发,支持Windows平台,主要功能包括: 自动检测并购买指定物品(房卡/子弹) 价格监控与智能购买(低于设定价格自动下单) 自定义购买数量与次数限制 支持窗口/无窗口两种游戏模式 使用前需安装Tesseract OCR引擎并配置游戏为1920*1080分辨率。通过JSON文件可灵活配置监控物品清单、理想价格和购买策

愤怒的阿木木的博客 3万+

JAVA文件I/O

JAVA文件I/O

Excuse_lighttime的博客 957

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Java】 I/O

Java中最基本的也是最重要的I/O流的笔记

别下完这场雪 192

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java I/O-磁盘操作(File类的使用)

java I/O-磁盘操作(File类的使用) File 类可以用于表示文件和目录的信息,但是它不表示文件的内容。 构造方法: public File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。 public File(File parent, String child) :从父抽象路径名和子路径名字符串创

weixin_46684938的博客 427

Java——I/O学习(一)

Java I/O学习(一)什么是I/O?I/O就是数据输入输出数据流,也称作数据流。Java I/O操作主要指的是使用Java进行输入、输出操作,Java中的所有操作类都存放在Java.io包中,在使用时需要导入此包。在整个Java.io包中最重要的就是5个类和1个接口,这5个类分别是File、OutputStream、InputStream、Writer和Reader,1个接口是Serializ...

IT_dream_FeiYang的博客 449

文件I/O和标准I/O的区别

一、先来了解下什么是文件I/O和标准I/O: 文件I/O:文件I/O称之为不带缓存的IO(unbuffered I/O)。不带缓存指的是每个read,write都调用内核中的一个系统调用。也就是一般所说的低级I/O——操作系统提供的基本IO服务,与os绑定,特定于linix或unix平台。 标准I/O:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件

知秋一叶 1万+

文件操作--I/O

介绍了在整个Java.io包中最重要的是 5个类和 1个接口。5个类指的是 File、OutputStream、InputStream、Writer、Reader

qq_54219272的博客 2860

Java 基础学习(十一)File类与I/O操作

1.1.1 什么是File类File是java.io包下作为文件和目录的类。File类定义了一些与平台无关的方法来操作文件,通过调用File类中的方法可以得到文件和目录的描述信息,包括名称、所在路径、读写性和长度等,还可以对文件和目录进行新建、删除及重命名等操作。对于目录,Java把File类当作一种特殊类型的文件,即文件名单列表。但是File类不能读取文件内容,操作文件内容需要使用输入流和输出流。1.1.2 构建 File 对象通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。

2301_79227925的博客 1578

Java文件操作完整指南:从File类到I/O流的实战解析

本文系统介绍了Java文件操作与I/O流的核心知识。首先讲解了File类的基本用法,包括文件信息获取、路径处理(相对/绝对路径)和文件/目录操作。随后详细解析了字节流(FileInputStream/FileOutputStream)和字符流(Reader/Writer)的使用方法,涵盖基础读写、缓冲处理、编码转换等关键点。文章提供了丰富的示例代码,包括文件拷贝、文本读写等常见场景的实现方案,并强调了异常处理和资源释放的重要性。通过对比不同流的特点和适用场景,帮助读者理解如何根据实际需求选择合适的I/O处理

qq_52506743的博客 771

Java文件I/O操作

​​唯一标识​​:通过文件名和扩展名(如data.txt)区分​​结构化存储​​:数据按特定格式(文本、二进制)组织​​元数据​​:包含创建时间、大小、权限等属性。

2301_80720675的博客 701

File I/O

这里就引入了一个很有趣的问题,为什么叫(流)呢?因为他具有以下几种特性:我们可以发现通过这种方法读取文件的效率过慢,代码更加繁琐,那么该使用什么方法呢?接3.读取之后我们又发现,使用FileWriter写入文件也过于繁琐,那么对应的,我们也有BufferedWriter类 附加文件 输出结果:IO流题目-优快云博客

这个人很懒,什么都没有写 829

Java中的 I/O之File类

Java中的 I/O之File类什么是I/OIO流的分类关于流的基本特性IO流的体系结构File类介绍File类的使用File类的一些主要方法 什么是I/O I/O即输入输出,它采用的流技术来处理设备之间的数据传输。java.io包下提供了各种“流”类的接口,用于获取不同种类的数据,并通过标准的方法输输入或输出数据。 有:文件流 字符流 数据流 对象流 网络流… 流:代表任何有能力产出数据...

发光吖的博客 580

文件操作与 I/O

File类是java.io包下的一个类,通过这个类我们可以将系统里的文件抽象成一个对象,然后对这个对象进行操作。Fileseparator:用于分隔目录和文件名的字符。在 Windows 上是,在 Linux/macOS 上是。:用于分隔多个文件路径的字符。在 Windows 上是;,在 Linux/macOS 上是。数据传输的抽象:I/O 流是 Java 中处理数据输入和输出的统一模型。输入流 (InputStream):从数据源(如文件、网络连接)读取数据到程序中。

2403_83543687的博客 645

I/O操作、File文件操作

I/O操作 在所有的编程语言当中,I/O操作都是绕不过去的。其中I叫做“输入”--Input,O叫做“输出”--Output。 流模型 在Java的I/O设计当中,把输入输出设计成了所谓“流模型”。流模型描述的是,所有的数据传递都是在“数据源”与“目的地”之间,建立一个管道,然后数据像流水一样通过这跟管道进行传递。 所以在操作Java的I/0操作时,我们都必须要考虑好3个要点:源是谁?目的地是谁?管道是什么管道? I/O流的分类 从传递方向上分为:输入流和输出流 从管道粗细上分为:字节流和字符流

火车头的博客 554

JAVA I/O小结(一)——File类

JAVA I/O小结(一)——File类 什么是I/O流? 答:对任何程序设计语言来说,输入输出(Input/Output)系统都是非常核心的功能。 输入(Input):就是将外部的数据读取到程序当中(以程序为基准,核心含义是“读”);如读取硬盘的文件到程序;读取网络上某个位置内容到程序;读取数据库系统的数据到程序;读取某些硬件系统到程序。 输出(Output):在处理数据时,需要将数据写到外部(以程序为基准,核心含义是“写”);如将数据写到硬盘中;将数据写到数据库系统中;将数据写到某些硬件系统中。

隔壁皮皮王的博客 876
上一篇: JAVA基础案例-利用I/O文件delete()方法删除磁盘内文件夹(包括目录和文件)
下一篇: JAVA数组工具类Arrays及其方法的使用(Arrays.toString(),Arrays.sort()Arrays.equals(),Arrays.fill()等)
涵冰...
博客等级 码龄4年 2438粉丝 243原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涵冰...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值