2021-06-28

输入/输出(IO)

一、File类
File类是java.io包下代表与平台无关的文件和目录的类。在程序中操作文件和目录,都可以通过File类来完成。需要注意的是,不管是文件还是目录都是使用File来操作的,File能新建、删除、重命名文件和目录,但是File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流
(一)构造器
1、File(String pathname):通过将给定路径字符串转换为抽象路径名来创建一个新File实例。

2、File(String parent,String child):根据parent路径名字符串和child路径名字符串创建一个新File实例。

3、File(File parent,String child):根据parent抽象路径名和child路径名字符串创建一个新File实例。

注意:windows路径分割符\
Linux unix macos Android 路径分割符/
Java 支持以/作为平台无关的通用路径分割符
复制路径:选中文件按shift键,然后右键选复制路径
(二)常用方法:
完整的路径名:
在这里插入图片描述
在这里插入图片描述
1、getName():返回由此抽象路径名表示的文件或目录的名称。
在这里插入图片描述
在这里插入图片描述
2、getPath() 将此抽象路径名转换为一个路径名字符串。
在这里插入图片描述
在这里插入图片描述
3、getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。(根据传入的字符串分割)
在这里插入图片描述
在这里插入图片描述
4、getParentFile():返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定目录,则返回null。
在这里插入图片描述
在这里插入图片描述
5、getAbsoluteFile():返回此抽象路径名的绝对路径名形式。
在这里插入图片描述
在这里插入图片描述
dirNow.getAbsolutePath());// 现在程序运行的路径 绝对路径
二、流的分类
1、输入流和输出流
按照流的流向来分,可以分为输入流和输出流。输入、输出都是从程序运行所在内存的角度来划分的。
① 输入流:只能从中读取数据,而不能向其写入数据。由InputStream和Reader作为基类。
② 输出流:只能向其写入数据,而不能从中读取数据。由OutputStream和Writer作为基类。
2、字节流和字符流
字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同。
① 字节流操作的数据单元是8位的字节,由InputStream和OutputStream作为基类。
② 字符流操作的数据单元是16位的字符,由Reader和Writer作为基类。
3、按照流的角色来分,可以分为节点流和处理流。
① 节点流:可以从向一个特定的IO设备(如磁盘、网络)读/写数据的流。
② 处理流:用于对一个已存在的流进行连接或封装,通过封装后的流来实现数据读/写功能。

注意:使用处理流的优势:
(1)对开发人员来说,使用处理流进行输入/输出操作更简单;
(2)使用处理流的执行效率更高。
实现复制功能:结合reader和writer,或者结合InputStream和OutputStream
三、缓冲流
BufferedReader是Reader的子类,可以Reader的方法。从字符输入流中读取文本,缓冲各字符,从而实现字符、数组和行的高效读取。下面是BufferedReader的构造器和特有的方法。
(1)构造器/方法名:BufferedReader(Reader in)
作用:创建一个默认大小输出缓冲区的缓冲字符输入流对象
(2)构造器/方法名:BufferedReader(Reader in,int sz)
作用:创建一个使用指定大小输出缓冲区的缓冲字符输入流对象
(3)构造器/方法名:readLine()
作用:读取一个文本行
四、RandomAccessFile类
RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据。RandomAccessFile支持“随机访问”的方式,程序可以直接跳转到文件的任意地方来读写数据。
RandomAccessFile四种访问模式:
(1)”r”:以只读方式打开指定文件。如果试图对该RandomAccessFile执行写入方法,都将抛出IOException异常。(r是read简写)
(2)“rw”:以读、写方式打开指定文件。如果该文件尚不存在,则尝试创建该文件。(rw, read write)
(3)“rws”:以读、写方式打开指定文件。相对于“rw”模式,还要求对文件的内容或元数据的每个更新都同步写入到底层存储设备。
(4)“rwd”:以读、写方式打开指定文件。相对于“rw”模式,还要求对文件的内容的每个更新都同步写入到底层存储设备。

元数据是文件的附加属性,如文件大小、创建时间、所有者等信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值