Java中的输入输出流

Java中的输入输出流

1.认识什么是流
流分为输入流和输出流,输入/输出流是相对于计算机内存来说的,如果数据输入到内存,则为输入流,如果从内存中输出则为输出流。输入输出技术用于处理设备之间的数据传输,指程序与外部设备或其他计算机进行数据交换的过程,比如读写文件、网络通信等。
针对程序而言,将外部数据(磁盘、光盘等存储设备的数据)读取到程序(内存)中称为输入,将程序(内存)数据输出到磁盘、光盘等存储设备中称为输出。

2.流的分类
InputStream和Reader是所有输入流的基类。
OutputStream和Writer是所有输出流的基类。
InputStream和OutputStream是字节流的抽象父类。
Reader和Writer是字符流的抽象父类。

3.文件输入输出流
(1)FileReader类常用的构造方法:

·FileReader(File file)
·FileReader(String fileName)
·FileReader(FileDescriptor fd)

(2)FileWriter类常用的构造方法

·FileWriter(File file)
·FileWriter(File file,boolean append)
·FileWriter(FileDescriptor fd)
·FileWriter(String fileName)
·FileWriter(String fileName ,boolean append)

(3)FileInputStream类常用的构造方法

·FileInputStream(File file)
·FileInputStream(String name)

(4)FileOutputStream类常用的构造方法

·FileOutputStream(File file)
·FileOutputStream(File file,boolean append)
·FileOutputStream(String name)
·FileOutputStream(String name,boolean append)

4.随机访问文件流RandomAccessFile
RandomAccessFile类的中文含义为随机访问文件类,随机意味着不确定性,指的是不需要从头读到尾,可以从文件的任意位置开始访问文件。使用RandomAccessFile类,程序可以直接跳到文件的任意地方读、写文件,既支持只访问文件的部分数据,又支持向已存在的文件追加数据。
RandomAccessFile类有两个构造方法:

RandomAccessFile(File file, String mode) public
RandomAccessFile(String name, String mode)

mode的值及含义:

mode值含义
“r”以只读的方式打开,如果试图对该RandomAccessFile执行写入方法,都将抛出IOException异常
“rw”以读、写方式打开指定文件,如果该文件不存在,则尝试创建该文件
“rws”以读、写方式打开指定文件,相较于“rw”模式,还需要对文件的内容或元数据的每个更新都同步写入到底层存储设备
“rwd”以读、写方式打开指定文件,相较于“rw”模式,还要求对文件内容的每个更新都同步写入到底层存储设备

5.序列化
序列化是将对象的状态存储到特定存储介质中的过程,也就是将对象状态转换为可保持或可传输格式的过程。在序列化过程中,会将对象的公有成员、私有成员包括类名,转换为字节流,然后再把字节流写入数据,存储到存储介质中,这里说的存储介质通常指的是文件。

6.缓冲流BufferedReader和BufferedWriter
内存的读写速度相对于磁盘来说相当快,未来弥补二者传输速度上的差异,提高数据读写的速度,Java API提供了带缓冲功能的流类,通常在内存和磁盘见建立一个缓冲区。
根据数据操作单位可以把缓冲流分为:
(1)BufferedInputStream和BufferedOutputStream
(2)BufferedReader和BufferedWriter
BufferedReader类常用构造方法:
·BufferedReader(Reader in)
·BufferedReader(Reader in,int sz)
BufferedWriter类常用构造方法:
·BufferedWriter(Writer out)
·BufferedWriter(Writer out,int sz)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值