File I/O流

文章介绍了Java中的I/O操作,重点讲解了File类的使用,如创建、删除文件和文件夹,以及如何读取硬盘数据。同时,文章对比了字节流和字符流在数据操作中的差异,字节流适用于媒体文件操作,而字符流则专用于文本处理。最后,文章提到了文件拷贝的基本思路,即从源文件读取数据并写入目标文件。
摘要由CSDN通过智能技术生成

I/O操作

数据操作

之前咱们的操作都不能进行长期保存,只要关闭项目数据就会流失,I/O流帮助咱们把内存当中的数据保存到硬盘当中

数据读取

I/O流操作不只是存储数据,也可以读取硬盘中的数据进行操作

数据形式

在进行硬盘操作时硬盘的指针会改变光盘的磁场正负极,由此来分辨数据。
(在ssd硬盘中不一样)

File:

File:
File类:是文件和目录路径名的抽象表示形式。
即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可。
文件的意思(文件和文件夹),对计算机来说,文件就是指定盘符下的文件或者文件夹
构造方法:
public File(String pathname) pathname: 文件的路径

常用方法:

创建文件: public boolean createNewFile() 创建文件,如果文件存在,就不创建,返回false
创建文件夹: public boolean mkdir() 创建文件夹,如果文件夹存在,就不创建,返回false, 只能创建单个文件夹 mkdir (make directory)
创建多层文件夹: public boolean mkdirs() 创建文件夹,如果文件夹存在,就不创建,返回false, 可以创建多层文件夹 mkdirs
判断是否是文件: public boolean isFile()
判断是否是文件夹: public boolean isDirectory()
判断文件是否存在: public boolean exists()
获取文件的大小: public long length() 返回的是字节个数 结果/1024/1024 就是MB
获取某个文件夹下面的文件: public String[] list() 返回的是字符串数组,表示的是文件夹下面的文件或者文件夹的名称
windows下的路径分隔符:
linux下的路径分隔符: /

案例

File f=new File(“D:\hello.txt”);
try{
f.createNewFile();
f.delete();
String fileName=“D:”+File.separator+“hello”;
File f=new File(fileName);
f.mkdir();
}catch (Exception e) {
e.printStackTrace();
}

字节流

1.字节流和字符流的基本操作是相同的,但是要想操作媒体流就需要用到字节流。
2.字节流因为操作的是字节,所以可以用来操作媒体文件。(媒体文件也是以字节存储的)
3.读写字节流:InputStream 输入流(读)和OutputStream 输出流(写)
(1 字节流
字节输入流:FileInputStream
字节输出流:FileOutputStream
2 输 入 出: 相对内存说的
3 输 入 流:读取数据到内存
输出流:写数据到文件)
在这里插入图片描述

在这里插入图片描述

字符流:

1.字符流是可以直接读写字符的IO流,字符流读取字符,就要先读取到字节数据,然后转为字符.;如果要写出字符,需要把字符转为字节再写出。
2.读写字节流:Reader输入流(读)和Writer 输出流(写)
( 字符流的底层还是字节流, 字符流是专门处理文本的
字符输入流: FileReader
字符输出流: FileWriter)
在这里插入图片描述
在这里插入图片描述

字符缓冲输入/输出流
1.从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
2.将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。可以指定缓冲区的大小,或者接受默认的大小
在这里插入图片描述
在这里插入图片描述

文件的拷贝:

思路就是从一个磁盘里面读取的时候,写到另外一个磁盘里面。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值