IO流{文件和目录 File 字符如何储存在电脑上 字节输入流 字节输出流 read方法读的字节为什么返回int类型}(一)

51单片机-点亮LED和蜂鸣器 ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。 阅读详情

目录标题

在学习IO流 过程中难免会跟文件或者目录打交道
这里 目录就是文件夹

文件和目录

在这里插入图片描述

这里 Java将它们抽象为File类
也就是说
File类既可以表示文件 也可以表示目录


在这里插入图片描述

当你传入一个文件路径给它时
他就是代表一个文件
当你传入一个目录路径给它时
它就代表一个目录



在这里插入图片描述

File方法分类

File类有四十多个方法
其中与查询相关的操作有20多个
与修改相关的操作有10多个
与批量操作相关的有 6 个



在这里插入图片描述

但是在这些方法里面
只有十一个方法是常用的

在这里插入图片描述

File

接下来 我们学习
在日常开发中的应用


在这里插入图片描述

创建 删除 重命名 文件

首先是 创建 删除 重命名 文件
先创建一个File对象
并传入你要创建的文件完整路径
然后判断文件是否存在
当文件不存在时
调用createNewFile方法创建新文件
该方法有异常抛出
使用try-catch将其捕获
输出创建结果
例子编写完成



练习

在这里插入图片描述

接下来
重命名刚刚创建的新文件
当文件存在时
调用renameTo方法
重命名此文件
该方法需要传入一个File对象
File路径为新名称的路径
接收方法返回值
输出重命名结果
例子编写完成



注意(此处的创建是代替原来名字相同的文件 不是重新创建一个)
!!!
观察执行结果



在这里插入图片描述

接下来
删除刚刚重命名的目录
当目录存在时
调用delete方法删除此目录
输出删除结果
例子编写完成 执行程序



在这里插入图片描述

重点!
从执行结果来看目录删除成功
但是注意
刚刚删除的目录是一个空目录
如果目录下还有文件或者目录的话
那么该目录是无法被删除的
想要被删除的话
必须将目录下所有文件(包括目录)清空



列出路径所有文件或目录

对于目录嵌套目录的情况
建议使用递归进行删除
方法参数只有一个File
方法返回Boolean类型
删除成功返回true
否则返回false



在这里插入图片描述

首先判断File是否为目录
当为目录时
列出目录下所有文件(包括目录)



当 File数组不为空时
遍历它
然后调用recursionDelete方法进行递归删除
目录下的文件(或者目录)
最后
无论是文件
还是目录
都将调用delete方法删除
到此
递归方法编写完成



在这里插入图片描述

练习

接下来
我们试试该方法
创建File对象
传入要删除的目录路径
调用recursionDelete方法进行删除
输出删除结果
到此
例子编写完成



在这里插入图片描述

编写代码
执行结果来看


在这里插入图片描述

创建多级目录

方法
还是先创建一个File对象
传入多级目录路径
当目录不存在时
调用mkdirs方法创建多级目录
输出创建结果
例子编写完成
观察执行结果



在这里插入图片描述

在这里插入图片描述

总结本节内容

介绍了File类的基本操作
和使用递归删除目录嵌套目录的情况



在这里插入图片描述

File类方法繁多
在实际开发中
它常用的也就那几个



在这里插入图片描述

字符是如何存储在电脑上的

在学习IO前
我们先要了解
字符是如何存储在电脑上的



首先先来了解 文本.text 上的字符 是如何存储在电脑上的
它们需要先根据字符编码°
找到对应的码值
例如这里的ASCII码
字符“a”所对应的码值是97
“b” 是 98
"c"是99
剩下的以此类推



找到对应的码值后
再将码值
转化为字节
存储在电脑上



在这里插入图片描述

读文件的时候
再将这个过程反过来即可
总结:
本节介绍了 字符是根据字符编码
找到对应的码值
然后再将码值 转换为 字节
存储在电脑上



在这里插入图片描述

字节输入流 InputStream

读取文件中的内容



在这里插入图片描述

我们可以借助InputStream旗下的子类
它和它的子类们都属于字节流
也就是按字节为单位读取数据的流
刚刚我们要读取的是文件数据
所以
选择FileInputStream
文件字节输入流



在这里插入图片描述

所以可以看出
它用于读取文本、图片、音乐、视频等文件数据



在这里插入图片描述

它一共有三个构造方法
你可以传一个文件路径
也可以传一个表示文件的File对象
这两个方法用得最多
也可以传一个文件描述符
这个构造方法几乎用不到
因为文件描述符
只能通过已经创建的流对象来获取




在这里插入图片描述

通过其read方法
每次只读一个字节
直到最后没有可读的字节
返回 -1 作为结束标识
read方法返回的类型
并不是byte
而是int



在这里插入图片描述

至于为什么
看下一个知识点
直接输出这些int值
得到的只是一些数字
这些数字就是字符所对应的字节值
对于字符而言
这些字节值就是码值
如果想要输出字符的话
需将其转换为char类型
然后就可以得到原来的字符




在这里插入图片描述

练习

编码练习
首先创建文件字节输入流
并传入文件路径
构造方法有异常抛出
使用try-catch将其捕获
然后调用read方法读取单个字节



read方法有异常抛出
使用catch将其捕获
接着输出刚刚读取到的字节值
这里输出的是一个数字
不便于观看
我们可以将其转换为char类型
以字符形式输出



从执行结果来看
"a”是我们读取到的第一个字符
也是第一个字节
一行读一个
这种写法太低效
可以采用循环的方式来读
那循环什么时候结束呢



当我们读到字节值为-1的时候结束



在这里插入图片描述

这个程序还有更优的写法
可以将字节值定义在循环外
将读取字节的操作
和判断字节值是否为-1
写在循环条件中
这样的写法在实际开发中更为常见
从执行结果来看
文件中的每一个字节都读出来了



在这里插入图片描述

总结

本节介绍了输入流体系
及其读取字节的操作



在这里插入图片描述

在实际开发中
FileInputStream 方法用的最多



在这里插入图片描述

read方法读的是字节为什么返回int

在上一讲中 我们可以看到
read方法读的是字节返回的而是int
为什么read方法 返回的不是byte 而是int呢
这个和它的结束标识有关
也就是和这个 -1 有关



在这里插入图片描述

在Java中
一个数字的二进制位
最高位是符号位
0 代表的是正数
1 代表的是负数
但一个负数
远不是将最高位置于1这么简单
它是其正数的原码
取反得到反码
再 +1
得到补码
最后的补码
才是一个负数的二进制表现形式
这是 -1 的二进制



在这里插入图片描述

假设我们要读的文件中
正好有 -1 时
就无法判断
这是数据已经读完了
还是数据本身 就是 -1



在这里插入图片描述

因此设计者 将read方法 的返回值类型
设置为int
四个字节
16 位
目的就是为了 防止直接读到 -1



在这里插入图片描述

上方的字节值
是 255
想要原生的字节值时
只需再把它转为byte即可
高位全部去掉
只保留低 8 位
这样我们就得到了 原生数据 -1
以上就是 为什么read方法 返回int 的原因



在这里插入图片描述

总结

介绍了
read方法为什么返回int的原因
在面试中有可能会被问到
要重点理解掌握



在这里插入图片描述

数据读取完以后为什么要关闭流?

数据读完以后
调用close方法关闭流


在这里插入图片描述

为什么一定要关闭流呢


在这里插入图片描述

例如:
例如 在删除电脑文件时 如果这个文件正在打开或者正在使用
​电脑是不会执行这个步骤的 提示 该文件正在使用无法删除的情况
那么这个时候 就需要关闭正在使用的文件
释放资源
然后才可以删除
这个和我们关闭流是一个道理的



在这里插入图片描述

关闭流是一定要关闭的
但不是写在try代码块中
而是写在finally代码块中
这样 即使操作流的过程中发生异常
也会执行关闭流的操作
将创建流的操作 拆分为声明流 和初始化流 两部分
然后将关闭流的操作
移动到finally代码块中
在关闭流之前 先判断流是否为空
当流不为空时 再关闭流
close方法有异常抛出 使用try-catch将其捕获
到此 完整的输入流读取数据的书写格式就是下图三格式



在这里插入图片描述

重点!
一共有四步
第一步 : 声明流
第二部:初始化流
第三步: 读取数据
第四步:关闭流
从执行结果来看:改写后的程序没有任何问题
流关闭以后 就不能再读取数据了
否则就会发生io异常



在这里插入图片描述

总结:

本节介绍了 为什么数据读完以后要关闭流
以及日常开发流的书写格式


在这里插入图片描述

如何更高效的读取字节

除了每次读取单个字节以外
我们还可以每次读取多个字节
以此来提升效率



批量读取的字节
都装在一个容器里
这个容器就是字节数组
数组大小可以自己拟定
如此以来
数组有多大
每次就能读多少



但是需要注意的是
数组是重复使用的
新读入的字节 会覆盖掉原来位置上的字节
这样就会产生 没覆盖全的情况
数组中还存在之前读入的字节
最后输出的结果 就会存在多余的字符
这个现象一会演示



在这里插入图片描述

下面演示一个批量读取字节的示例
按照上一节讲解的代码书写格式中
编写好基本代码
读取数据的部分 目前还没写
创建一个长度为4 的字节数组
循环批量读取字节 读到 -1 时结束
每次都以字符串形式输出
长度为 4 的数组 刚刚好
分两次读完
没有多余的字节



在这里插入图片描述

接下来 我们来演示 有多余字节的问题
基本代码一样!
只需将数组长度 由4 改为 3
这样就会出现多余的字符
多输出 一个 “f”
产生问题的原因 前面的内容已经讲解过了
问题也很好解决!!!
我们只需记录一下
read方法实际读入的字节数
在输出的时候 从下标 0 开始输出
输出的长度为实际读入的字节数
注意重点 : ((length = in.read(bytes)) != -1)
这样的话 便没有多余的字符了



在这里插入图片描述

总结:

本节介绍了 如何批量读取字节
在实际开发中 这种方式更加常用
这一节的批量读取字节的书写格式如下



在这里插入图片描述

什么是字节输出流OutputStream

它和输入流一样
也有一套体系
包括将数据输出到文件FileOutputStream
带缓冲区的 BufferedOutputStream
等其他一些输出流
其中最为常用的 就是 FileOutputStream




在这里插入图片描述

在这里插入图片描述

借助 FileOutputStream
我们可以向文件中写入数据
完成复制文件等操作



在这里插入图片描述

FileOutputStream 一共有五个构造方法
其功能如下图所示
第一个参数 String name 创建文件输出字节流 并指定文件路径 默认覆盖文件
第二个参数 boolean append 创建文件输出字节流 并指定文件路径 是否追加文件 默认覆盖文件



在这里插入图片描述

下面 通过将一个字符串写入到文件中
来学习 输出流的基本知识
而这个过程 正好和读取字节相反



先根据编码表
找到字符所对应的十进制码值
再将码值 转换为 字节
转换为字节以后 再调用输出流的write方法
依次写入文件中



写入的方式有两种
一种是: 每次写入单个字节
还有一种是: 每次写入一个字节数组
后者效率更高



在这里插入图片描述

练习

下面我们就采用后者
来编写一份示例
首先声明一个输出流
然后初始化它
并传入你要输出的文件路径中



创建FileOutputStream时有异常抛出
使用try-catch 将其捕获
写上finally 代码块



在finally代码块中
调用close方法关闭流
在关闭流之前
先判断流是否为空
当流不为空时
再关闭流



close方法有异常抛出
使用 try-catch 将其捕获



在这里插入图片描述

练习

重点!!!
最后 我们来编写 写入数据的部分
创建你要写入的数据
比如这里的 “二哥一直坚持abcdefgh”
然后调用其 getBytes方法 转为字节数组



因为写入数据必须按字节为单位
所以这里要转为 字节数组
接着 调用输出流的write方法
将字节数组 中的数据 写到文件中



write方法有异常抛出
使用catch将其捕获
至此 写入数据的部分编写完成
整个例子也编写完成
执行程序观看



一般来说 程序没有报错 就说明 写入成功
再来查看文件
文件可以看出 程序运行成功!!!



在这里插入图片描述

注意点:
当我们初始化输出流的时候
这里的输出文件
是我本身 事先创建好了的!!!
如果文件没有事先创建好
还需要使用 file对象 来进行 创建!!!



在创建之前
无论文件是否存在
都要进行判断一下
文件的存在情况



养成习惯
因为在实际开发中 不可能还去看看
文件到底创建了没有 一个提示 重点注意



在这里插入图片描述

总结

本节介绍了
输出流体系 及其 基本操作
在实际开发中
FileOutputStream 用的比较多



在这里插入图片描述

基于BERTopic模型的英文20新闻数据集主题聚类及可视化 BERTopic是基于深度学习的一种主题建模方法。BERT是一种用于NLP的预训练策略,它成功地利用了句子的深层语义信息。 阅读详情

相关推荐

【保姆级教程】不到一元32位芯片 DIY迷你时钟

基于不到一元的CH32V003F4P9芯片制作的迷你多功能时钟。

twen51的博客 1817

FileInputStream.read()返回int类型原因

当我用fileinputstream流读取文件的时候,然后用fileinputstream.read()方法读取文件的时候,当我查看API的时候,发现read()是读取每个字节,然后返回一个int类型,有没有很纳闷,读取的字节,为什么返回一个int呢? FileInputStream.read()读取一个byte却返回一个int的原因如下: 因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111 那

weixin_41866717的博客 968

LSM6DSOW陀螺仪轮询驱动:从I2C/SPI配置到数据读取全解析

惯性测量单元(IMU)是现代嵌入式系统中实现姿态感知与运动跟踪的核心传感器,其通过加速度计和陀螺仪测量线性加速度与角速度。在嵌入式开发中,轮询(Polling)作为一种基础且可靠的通信方式,通过主循环主动查询传感器状态,简化了初始调试与验证流程。对于I2C/SPI接口的数字传感器,掌握寄存器配置、数据就绪标志检查及原始数据转换是通用的驱动方法,能够快速验证传感器工作状态并理解数据流。LSM6DSOW作为一款高性能6轴IMU,支持可配置的量程与输出数据速率,适用于无人机飞控、手持云台等高动态场景。本文以LSM

weixin_28728265的博客 560

【JAVA学习笔记】InputStream.read()三种方法解析

Read的三种方法 API reference: https://docs.oracle.com/javase/7/docs/api/ Read() 返回int值,0-255。 每次从数据源读取一个byte并返回。 read方法每次读取8哥二进制位(所谓一个byte字节。字节是十进制0-255之间的一个整数),所以read就是从数据源读取一个8位二进制数(一个byte),将这个byte转换为十进制整数然后返回)。 Read(byte[] b) 3. 返回int值,表示读取的字节数。 4. 使用一个byt

weixin_42627346的博客 6817

IEC104协议下的文件传输与软件升级的技术细节与操作流程

本文深入探讨IEC104协议下的文件传输过程和软件升级机制,揭示其背后的技术细节和操作流程。

2401_86189088的博客 2526

CANbus收发器TJA1051T/3/1J应用原理图设计

该收发器是为汽车工业中的高速CAN应用而设计的,为(一个带有)CAN协议控制器的微控制器)提供差分传输和接收能力。它提供了改进的电磁兼容性(EMC)和静电放电(ESD)性能,还具有:当电源电压关闭时,TJA1051T/3和TJA1051TK/3可以直接与电源电压从3V到5V的微控制器接口。这种实现能够在CAN FD快速阶段以高达5 Mbit/s的数据速率进行可靠的通信。TJA1051T/3和TJA1051TK/3上的VIO输入允许直接连接3 V至5 V微控制器(分别提供SO8和极小的HVSON8封装)

zhusl6688的博客 3607

android文件流read方法,android FileReader.read()方法返回类型为什么是int

FileReader fr=new FileReader("D:\\heima.txt");int byt=fr.read();System.out.println(byt);read读取的是一个字节,那为什么read返回的是int类型的,而不是byte类型的?如果返回byte, 同样无法表示流末尾.byte的取值范围是从-128到127这个范围内所有的数据,都有可能在数据中出现read()方法需...

weixin_39853863的博客 1004

5G NR资源网格详解:RE、RB、符号、时隙与帧

本文以ETSI发布的3GPP TS 38.211 V18.3.0(Release 18)为协议基线,从二维资源网格出发,建立这些对象的严格关系;随后解释Numerology如何改变时间和频率粒度,并给出索引换算、带宽计算、内存布局和排障方法。

jifen0bianhuan的博客 182

Java中字节流和字符流的read()方法为什么返回的值是int类型

/*  * 字节流和字符流的read()方法为什么返回的是int类型?而且为什么用-1作为判断是不是流末尾?  */ package cn.itcast.day_16; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java

代俊建的专栏 1万+

uniapp - H5网页打包运行报错Failed to load resource: net::ERR_FILE_NOT_FOUND(uniApp打包成H5部署到服务器,打包h5白屏并报错页面空白)

Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp 坑之打包之后白屏,uniapp打包h5,HBuilderX 打包H5后空白报错 Failed to load resource: net::ERR FILE NOT_FOUND,UNI-APP H5应用白屏(空白页)解决方案,白屏并报错Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp开发,打包成H5部署到服务器,uniapp打包之后首页

🏆 前端领域优质创作者 3579

system_server_lowmem真的是内存不足吗?

Android系统中的system_server_lowmem真的表示系统的内存遇到瓶颈了吗?以及遇到这类日志该如何分析系统的内存,本文会回答这个问题。

jidapenglin28的专栏 514

Java 编程下 IO 中的输入流的 read() 方法返回值为什么是 int 值(科普一下吧,某个大侠写的)

sunzn:很基础的一个问题,估计很多程序员都没有仔细的想这个问题,放在这里利人利己吧! Java 下 IO 中 FileReder 和 FileInputStream 分别是以字符和字节的形式来完成数据的读取的,然而返回值确是 int 类型的数据,这样做的核心目的只是要取到到一个 int 类型下的 -1 来表示数据流的末尾。为什么要这样做?又是怎么实现的呢?   首先看 FileR

zunshen95的专栏 1913

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1805

IO 流分类

磁盘与内存之间的数据交互,可以看做是一种数据的流动,按照流动方向,以内存为基准,分为输入 input 和输出 output,即流向内存的是输入流,流出内存的是输出流。Java IO操作主要是指使用 java.io包下的内容,进行输入、输出操作。输入也叫读取数据,输出也叫写出数据。​根据数据的流向分为:输入流和输出流。根据数据的类型分为:字节流(以字节为单位)和字符流(以字符为单位)。输入流输出流字节流字符流ReaderWriter。

程序猿进阶 1万+

OV9734 DATASHEET,完整规格书

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

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java中 File类 和 IO流相关操作

java中 file类 和 io 流 相关操作

xgq_111的博客 555

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

20 IO流 File 字节流 字符流

IO简介 1 流Stream 在学习IO流之前,我们首先需要学习的概念就是Stream流 为了方便理解,我们可以把数据的读写操作抽象成数据在"管道"中流动,但需注意: 1.流只能单方向流动 2.输入流用来读取 → in 3.输出流用来写出 → out 4.数据只能从头到尾顺序的读写一次 所以以程序的角度来思考,In/out 相对于程序而言的输入(读取)/输出(写出)的过程. 2 IO流的继承结构 在java中,根据处理的数据单位不同,可以把流分为字节流和字符流 字节流 : 针对二进制文件 字符流 : 针

qq_38361425的博客 144

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

File类和 IO流学习 总结-适用于初学者

1.File类 File :磁盘上的文件或目录 (1)作用:用来存储磁盘上的文件或目录的信息,以及对他们的操作 (2)构造器: File(String path); (3)方法: getName(); //获取文件或目录名 getPath(); //获取路径 getAbsolutePath(); //获取绝对路径 getParent(); //获取父目录路径 canRead(); canWrite(); isHidden(); lengt...

洛阳泰山的博客 3118

java基础—IO流(一)

IO流一直以来都是半懂不懂的,今天来好好复习一下吧。 JAVA的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入,输出两种IO流,每种输入输出又分为字节流和字符流两个大类。其中字节流以字节为单位处理输入输出操作,字符流用字符来处理输入输出操作。 在介绍 IO流之前,有一个经常和IO流结合起来使用的File类也需要提及一下: File 类: File类也是java...

xqy3177563的博客 301

java io流输出_输入输出流 ——JavaIO流

输入输出流——JavaIO流IO的概念Java IO即Java 输入输出系统。I(Input)/O(OutPut)数据的流动流的分类1.输入字节输入流:InPutStream字符输入流:reader2.输出字节输出流:OutPutStream字符输出流:writerFile类文件和目录路径名的抽象表示形式。通过代码对文件进行操作。File类的构造方法File(String pathname)根据...

weixin_30395665的博客 311

java中File IO流的笔记

1.File文件的属性和操作 boolean exists( ) 判断文件或目录是否存在boolean isFile( ) 判断是否是文件boolean isDirectory( )判断是否是目录String getPath( )返回此对象表示的文件的相对路径名String getAbsolutePath( ) 返回此对象表示的文件的绝对路径名String getName(...

adam9988888的博客 153

java基础--IO流

IO File file: 抽象的路径以及文件 1.创建对象是无须注意当前路径或者是文件是否存在,都会创建出来 2. 和平台无关的路径分隔符 File.pathSeparator 路径结束符 File.separator 路径分割符 常见方法: File f = new File(); f.canExecute()查看是否可执行 f.canRead() 是否可读 f.creat...

qq_43778787的博客 165

输入输出流(java的文件管理)

一 File 类 对于文件或目录的其他操作,如重命名、删除、列表显示等,需要使用Java的文件管理File类。 例:建立File类对象 对文件名操作提供的方法: 测试文件属性操作提供的方法: 为文件信息操作提供的方法 为目录操作提供的方法 常见文件操作 10.1.3 文件的创建与删除 当使用File类创建一个文件对象后,例如File file=new File(“c:\mylett...

qq_36335126的博客 1231

java——IO流总结

目录IO流的分类方式流的四大类常用流IO流(均是java.io包下的)文件专属FileInputStream详解FileOutputStream详解文件复制FileReader与FIleWriteDataInputStream和DataOutputStream IO流的分类方式 第一种方式:以内存为参照物,按照流的方向分类        从硬盘到内存的,叫做输入,或读(read)     &nbsp

hjk12345678910的博客 309

Java IO流(超详细!!!)

本文介绍了Java IO流的基本概念和操作,重点讲解了文件创建、目录操作以及字节流的使用。首先,通过File类可以创建文件对象,并使用createNewFile()方法创建新文件。常用的文件操作方法包括获取文件名、绝对路径、父目录等。目录操作可以通过mkdir和mkdirs创建单级或多级目录,delete用于删除文件或空目录。接着,文章详细介绍了IO流的原理,分为输入流和输出流,以及字节流和字符流。字节流的核心类是InputStream和OutputStream,分别用于读取和写入字节数据。通过示例代码展示

m0_73494933的博客 2936

Java IO操作 字节流&字符流

参考字节流与字符流的区别详解 1.基本概念 流:程序通过流来传输和保存数据 程序的输入输出都是以流的方式,流里保存的是字节。 Java IO通过Stream(流)来实现。Java中定义了两种类型的流:字节型,和字符型。 关于流,可以理解为是一种“数据的管道”。管道中流动的东西可以是基于字节,也可以是基于字符的等。就好像管道里面可以流动水,也可以流动石油一样。 输入流 和 输出流:程序 需...

dream_heheda的博客 475

文件操作 | 基础+字节流

关于存储, 文件路径, File, InputStream, OutputStream 的一些知识

bestme 2954
上一篇: 集合{LinkedHashMap TreeMap HashSet LinkedHashSet TreeSet 快速失败机制 ConcurrentHashMap CAS 多线程协同扩容}(二)
下一篇: IO流{覆盖和追加 Java复制文件 未知目录不存在 字符编码 字符输入流 字符输出流 一行代码复制文本}(二)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值