600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java输出流输入流的使用_Java中的IO流之文件输入输出流

java输出流输入流的使用_Java中的IO流之文件输入输出流

时间:2022-10-14 03:41:54

相关推荐

java输出流输入流的使用_Java中的IO流之文件输入输出流

Java中的IO流之文件输入输出流

1、文件流介绍

文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流。文件流位于java.io包下。

输入输出流分别是FileInputSteam和FileOutputStream流。文件流的作用就是专门用来读写文件的。

文件流是基于流式读写的,而流式读写是一种顺序读写的形式,只能依次从文件开始,顺序向下读写文件,不能回退。

文件流属于低级流,但是可以串联高级流,完成一些复杂数据的读写操作。

2、文件输入流FileInputStream

<1>文件输入流常见构造方法

构造方法一:

FileInputStream(File file)

构造方法二:

FileInputStream(String name)

注:创建文件输入流对象时,如果对应的文件不存在,则会抛出文件找不到异常。

<2>文件输入流读取文件的方法

文件输入流读取文件的常用三个方法如下:

int read():一次只读取一个字节。

int read(byte[] b):一次读取一个字节数组的字节。

int read(byte[] b, int offset, int len):

一次读取len个字节,然后放入字节数组的offset下标开始处。

<3>使用文件输入流读取文件内容

这里以read(byte[] b)方法为例子。

测试结果:

注:使用字节数组读取的优点是可以提高读取效率。

3、文件输出流FileOutputStream

<1>文件输出流常见构造方法

文件输出流有两类写出方式,一类是覆盖写操作,另一类是追加写操作。

覆盖写:

FileOutputStream(File file)

FileOutputStream(String name)

追加写:

FileOutputStream(File file, boolean append)

FileOutputStream(String name, boolean append)

当文件输出流构造方法第二个参数为true时,则表示开启追加写方式。

<2>文件输出流写出文件的方法

和文件输入流一样,也有三个写出方法。分别如下:

void write():一次写出一个字节。

void write(byte[] b):一次写出一个字节数组。

void write(byte[] b, int offset, int len):把字节数组中从下标offset开始的字节写出文件,并且写出len个长度。

<3>文件输出流覆盖写操作

第一次写入数据:

结果如下:

第二次写入数据:

结果如下:

注:从两次写入数据的结果中可以看出,FileOutputStream的覆盖写操作,是将之前的数据清空后,然后在重新开始写入数据。

<4>文件输出流追加写操作

第一次写入数据:

结果如下:

第二次写入数据:

结果如下:

4、FOS类和RAF类覆盖方式不同之处

这里说明一下:FOS指代文件输出流FileOutputStream,而RAF则是指代RandomAccessFile类。

<1>RAF类的覆盖方式是,从文件开头开始,依次覆盖相应字节数据。

<2>FOS类的覆盖方式是,先把文件中的原有内容清空,然后在把新的内容写入文件。

综上,Java中IO流之文件输入输出流介绍完了。

这是我的第28篇文章,谢谢大家阅读。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。