博客
关于我
JavaSE基础系列之IO流
阅读量:358 次
发布时间:2019-03-04

本文共 1269 字,大约阅读时间需要 4 分钟。

一. IO流分类

按照读写数据的基本单位不同,流可以分为字节流和字符流。

  • 字节流:以字节为单位读写数据,适用于处理任意类型的文件。
  • 字符流:以字符(2字节)为单位读写数据,主要用于处理文本文件。

从读写方向的角度看,流分为输入流和输出流。

  • 输入流:从文件中读取数据输入程序。
  • 输出流:将程序中的数据输出到文件中。

根据流的角色不同,流可以分为节点流和处理流。

  • 节点流:直接与输入输出源对接的流。
  • 处理流:建立在节点流基础上的流,通常用于更复杂的数据处理。

以下是不同类型流的对应关系:

分类 字节输入流 字节输出流 字符输入流 字符输出流
抽象基类 InputStream OutputStream Reader Writer
访问文件 FileInputStream FileOutputStream FileReader FileWriter
访问数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
访问管道 PipedInputStream PipedOutputStream PipedReader PipedWriter
访问字符串 -- -- StringReader StringWriter
缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
转换流 -- -- InputStreamReader OutputStreamWriter
对象流 ObjectInputStream ObjectOutputStream -- --
Filter输入流 FilterInputStream FilterOutputStream FilterReader FilterWriter
打印流 -- PrintStream -- PrintWriter
推回输入流 PushbackInputStream -- PushbackReader --
特殊流 DataInputStream DataOutputStream -- --

二. 缓冲流的优缺点

优点:减少了写入次数,提高了数据传输效率。

缺点:带缓冲的流会导致接收端可能无法及时获取数据。

三. 序列化版本号作用

序列化机制通过检查serialVersionUID来验证版本一致性。当反序列化时,JVM会将传入的serialVersionUID与本地类的serialVersionUID进行比较,若不一致则抛出异常。

四. transient关键字

transient是Java关键字,用来表示属性不会被序列化。当对象被序列化时,transient属性的值不会被包含在序列化表示中。transient字段的生命周期仅存在于内存中,不会被写入存储设备。

帮助理解:为了保障数据安全,如操作账号和密码等敏感信息不希望被序列化,可以将这些属性加上transient关键字。

转载地址:http://qvdr.baihongyu.com/

你可能感兴趣的文章
Oracle、MySQL、SQL Server架构大对比
查看>>
oracle下的OVER(PARTITION BY)函数介绍
查看>>
Oracle中DATE数据相减问题
查看>>
Oracle中merge into的使用
查看>>
oracle中sql查询上月、本月、上周、本周、昨天、今天的数据!
查看>>
oracle中sql的case语句运用--根据不同条件去排序!
查看>>
Oracle中Transate函数的使用
查看>>
oracle中关于日期问题的汇总!
查看>>
Oracle中常用的语句
查看>>
Oracle中序列的操作以及使用前对序列的初始化
查看>>
oracle中新建用户和赋予权限
查看>>
Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
查看>>
Oracle中的rownum 和rowid的用法和区别
查看>>
oracle中的大小写、字符、dual、数字、处理、日期、函数、显/隐式、时间、条件表达式case、decode、to_date、to_char、sysdate
查看>>
oracle中表和视图的区别,oracle中常用表和视图
查看>>
oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
查看>>
Oracle从11g导出后导入10g
查看>>
oracle从备份归档日志的方法集中回收
查看>>
oracle优化器analyzed,Oracle 学习之 性能优化(十三) 索引
查看>>
Oracle修改字段类型
查看>>