java输入输出

1、缓冲流
在读写数据时,让数据在缓冲区能减少系统实际对原始数据来源的存取次数,因为一次能做多个数据单 位的操作。相较而言,对于直接从文件读取数据或将数据写入文件,比起缓冲区的读写要慢多了。所以 使用缓冲区的流,一般都会比没有缓冲区的流效率更高。拥有缓冲区的流被称为缓冲流,包括 BufferedInputStream、BufferedOutputStream类和BufferedReader、BufferedWriter类。缓冲流把构造器/方法名作用 BufferedReader(Reader in) 创建一个使用默认大小输出缓冲区的缓冲字符输入流对象 BufferedReader(Reader out,int sz) 创建一个使用指定大小输出缓冲区的缓冲字符输入流对象 readLine() 读取一个文本行 构造器/方法名作用 BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流对象 BufferedWriter(Writer out,int sz) 创建一个使用指定大小输出缓冲区的缓冲字符输出流对象 newLine() 写入一个行分隔符 数据从原始流成块读入或把数据积累到一个大数据块后再成批写出,通过减少通过资源的读写次数来加 快程序的执行。
BufferedReader类
BufferedReader是reader的子类,可以reader的方法,从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
BufferedReader的够构造器和特有的方法:
BufferedReader(Reader in) :创建一个使用默认大小输出缓冲区的缓冲字符输入流对象
BufferedReader(Reader out,int sz):创建一个使用指定大小输出缓冲区的缓冲字符输入流对象
readLine():读取一个文本行
BufferedWriterr类
BufferedWriter类是Writer的子类。
BufferedWriter(Writer out):创建一个使用默认大小输出缓冲区的缓冲字符输出流对象
BufferedWriter(Writer out,int sz):创建一个使用指定大小输出缓冲区的缓冲字符输出流对象
newLine():写入一个行分隔符
2、RandomAccessFile类
RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据。RandomAccessFile支持“随机访问”的方式,程序可以直接跳转到文件的任意地方来读写数据。
RandomAccessFile四种访问模式:
1、“r”:以只读方式打开指定文件。如果试图对该RandomAccessFile执行写入方法,都将抛出 IOException 异常。
2、“rw”:以读、写方式打开指定文件。如果该文件尚不存在,则尝试创建该文件。
3、"rws”:以读、写方式打开指定文件。相对于"rw"模式,还要求对文件的内容或元数据的每个更新 都同步写入到底层存储设备。
4、“rwd”: 以读、写方式打开指定文件。相对于"rw"模式,还要求对文件的内容的每个更新都同步写入 到底层存储设备。
“rwd”: 以读、写方式打开指定文件。相对于"rw"模式,还要求对文件的内容的每个更新都同步写入 到底层存储设备。
3、对象序列化
对象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象。对象序列化机制允许把内存 中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点。其他程序一旦获得了这种二进制流(无论是从磁盘中获取的,还是通过网络获取的),都可以将这种二进制流恢复成原来的Java对象
序列化的含义和意义:
序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以保存在磁盘上,或通过网络传输,以备以后重新恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。对象的序列化(Serialize)指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize)则指从IO流中恢复该Java对象如果需要让某个对象支持序列化机制,则必须让它的类是可序列化的(serializable)。
为了让某个类是可序列化的,该类必须实现如下两个接口之一:
Serializable(常用) ExternalizableJava
很多类已经实现了Serializable,该接口是一个标记接口,实现该接口无须实现任何方法,它只是表 明该类的实例是可序列化的。
所有可能在网络上传输的对象的类都应该是可序列化的,否则程序将会出现异常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值