Java api(3)--- File I/O

文章详细介绍了计算机中的File类,包括其在Java.io中的定义、创建及属性。同时,讨论了文件的增删查操作。接着,文章深入探讨了流的概念,区分了输入流和输出流,字节流和字符流,并举例说明了如何使用FileInputStream和FileOutputStream进行文件复制。还提到了字符流如FileReader和FileWriter的使用,以及缓冲流提高读写效率的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

File的简介

1.生活中的文件

(1)文件的作用:持久化(瞬时状态的对立状态)

(2)文件的定义:一堆的数据的集合

(3)文件存储的位置:磁盘,硬盘,软盘,u盘等等

2.计算机中的文件File

(1)File的定义:java.io中的File类

(2)创建File:  new File( );   //创建文件实例

(3)File属性: 文件的位置,文件的名称,文件的内容

3.File文件的增删查

(1)添加文件

 

 小校验:

 

 (2)查询文件

 (3)删除文件

1.生活中的流

人流,车流 类似于 人或是车的集合

2.计算机中流

定义:数据的集合【机制:先进先出】

流传递的方向:从源数据源 传递到目标数据源

3.流的指向

(1)读入【文件 读入到 程序中】

(2)写出【程序 写出到 文件中】

4.流的分类

(1)按流向分:输出流:OutputStream 和 Writer

                           输入流:InputStream  和 Reader

(2)按照处理单元分:

                           字节流:InputStream  和 OutputStream

                           字符流:Reader      和 Writer

字节流

FileInputStream字节输入流实现读取

场景1:

 场景2:

场景3:

场景4:

核心要点:利用数组机制,将读取的内容存储到数组中,效率大大提高

fis.read(byte[] b):

将 byte.length 个字节的数据从fis流中读入到数组b中,返回值为数组中数据的总长度

场景5:

核心要点:利用字节输入流(FileInputStream)和字节输出流(FileOutputStream)实现复制

场景6:【场景1-场景5的代码优化】(流必须close)

 

 字符流

1.字节流乱码问题

核心要点:处理中文不要用字节流

 2.FileReader字符流实现读取

核心要点:如果文件中出现中文,需要用字符流实现字符串的输出

fis.read(char[] b):

将 fis流中的数据读入到数组b中,返回值为数组中数据的总长度

 3.FileWriter字符流实现写出

 缓冲流

 1.字符流FileReader加BufferedReader实现读取

核心要点:BufferReader类似于在FileReader外层套一层“管道”

 2.字符流FileWriter加BufferedWriter实现写出

 复制

1.字符流实现复制

 

 2.复制二进制文件(图片,视频)

核心要点:一般复制二进制文件/图片/视频 建议使用字节流加

DataInputStream/DataOuputStream的流【稳定,放数据缺失】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值