JAVA入门小小白学习中ing(IO初识)

1、IO流的操作步骤

step1:确定数据从哪到哪。文件信息。

step2:创建流:

流向:输入,输出

单位:字节,字符

子类流:文件,内存。。。。

step3:操作流

读取数据:输入

read()

写出数据:输出

write()

step4:关闭流

close()

2、FileInputStream

用于以字节为单位,读取文件中的数据,到程序中。

1、构造方法:

    FileInputStream(String name)

        通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。

    FileInputStream(File file)

        通过打开与实际文件的连接创建一个 FileInputStream ,该文件由文件系统中的 File对象 file命名。

    read()-->int

        每次读取一个字节。返回值就是读入的数据本身。如果读到文件的末尾了,-1。

    read(byte[] bs)-->int

        每次读取多个字节,最多是bs数组的长度个。返回值是本次读取的实际的字节个数。如果到达末尾,-1.

    int read(byte[] bs, int off, int len)

从该输入流读取最多 len字节的数据为字节数组 。第一个参数表示要存储本地读取的数据的数组,第二个参数,表示从哪个下标开始存储,第三个参数是表示本次读取预计的读取数量。该方法的返回值是本次读取的实际数量。如果到达文件末尾,-1。



byte[] bs = new byte[3];//内存资源

数据源:250个字节

数组:100个长度

1次:100,剩150 读取100个

2次:100,剩50 读取100个

3次:50,读完了 读取50个

int read(byte[] bs) -->读多个,最多数组长度,实际看返回值,数据在数组中,将读取到的数据存入到数组中,默认从头开始存储。

在操作IO流读取本地文件的数据,提升效率。

硬盘和内存

read()-->每次读取一个数据,

read(byte[] bs)--> 1000

每次读取一个字节:

使用字节数组作为缓冲区,读取数据:

3、FileOutputStream

构造方法:

FileOutputStream(String name) ,在文件开头写,擦除写

创建文件输出流以指定的名称写入文件。

FileOutputStream(String name, boolean append) ,在文件的末尾写数据,追加

创建文件输出流以指定的名称写入文件。

FileOutputStream(File file) ,在文件开头写,擦除写

创建文件输出流以写入由指定的 File对象表示的文件。

FileOutputStream(File file, boolean append) ,在文件的末尾写数据,追加

创建文件输出流以写入由指定的 File对象表示的文件。

写出去的数据,是清空写。将文件中原来的数据全部擦除,从头开始写数据。

void write(int data),将参数,这个字节数据写出去

void write(byte[] b),将 b.length个字节从指定的字节数组写入此文件输出流。

void write(byte[] b, int off, int len) ,将 len字节从位于偏移量 off的指定字节数组写入此文件输出流。  

String--->byte[]

String--->char[]


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。