栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习不知道第几天之——Java文件读写操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习不知道第几天之——Java文件读写操作

File 文件流分类

方向:

输入流(Input)——读取文件

        ①输入流是指建立在文件或其他文件流上的用来对目标文件进行读取的文件流。
        ②输入流只能对文件进行读取。
        ③读取二进制文件使用字节输入流,读取文本文件使用文本输入流。

输出流(OutPut)——写入文件

内容:

字节流(Byte)——读写二进制文件

字符流(char)——读写文本文件

方式:

节点流——针对文件建立

处理流——针对其他文件流建立

字节输入流

主要方法:

public abstract int Read() throws IOException

读取文件,只返回读取到的字节数,不返回读取到的字节内容

public int read(byte[] b) throws IOException

将读取到的二进制字节存储到byte中进行保存,返回实际读到的二进制字节数

public int read(byte[] b,int off,int len) throws IOException

将读取到的二进制字节存储到byte中进行保存,off表示存储时数据从数组第几个索引开始存,一般为0,len表示读多少个数据,一般为byte数组长度

二进制缓冲输入流(BufferedInputStream)

字符输入流

构造器:

Reader reader=new FileReader(filename)

主要方法:

public abstract int Read() throws IOException

读取文件,只返回读取到的字节数,不返回读取到的字节内容

public int read(char[] c) throws IOException

将读取到的二进制字节存储到char[]中进行保存,返回实际读到的二进制字节数

public int read(char[] b,int off,int len) throws IOException

将读取到的二进制字节存储到byte中进行保存,off表示存储时数据从数组第几个索引开始存,一般为0,len表示读多少个数据,一般为byte数组长度

字节输出流 

构造器:

Write write=new FileWrite(filename);//默认覆盖

Write write=new FileWrite(filename,true);第二个参数为true表示在文章末尾追加

主要方法:

public void write(int b)throws IOException


public void write(byte[] b)throws lOException


public void write(byte[ b,int off,int len)throws lOException


public void close() throws I0 DException

读写文件过程

1、建立目标文件

2、基于目标文件建立文件流

3、进行读写操作

4、关闭相关文件流对象,释放资源(要注意文件的读写操作异常处理)

序列化操作

将一个数据以Java对象的形式存储到文件中或从目标文件中获取一个Java对象的操作被称为序列化操作,能够被序列化的对象称之为序列化对象

Java规定任何实现Serializable接口的类,被看做是序列化类,此类的实例既是一个序列化对象。序列化对象可以通过序列化输入和输出流进行读写操作,通常序列化类必需提供一个公共无参的构造器,在反序列化(读取序列化对象)中心N使用公共无参构造器创建Java对象。
 

任何静态对象都不会被序列化

序列化文件流

ObjectOutputStream:序列化流,将一个java对象保存到目标文件中

ObjectInputStream:反序列化流,从目标文件读取序列化对象到内存
 


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979169.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号