ad

学习《零基础Java从入门到精通》_14.1 Java I/O

admin 135 2023-10-25

【摘要】 本书摘自《零基础Java 从入门到精通》一书中第十四章,第1节,编者是零壹快学

第 14 章

Java I/O

前面章节讲到的变量、基本类型、对象等,它们在系统中存储的数据都是在内存中暂存的数 据, 当一个程序结束时, 这些暂存数据也会被销毁。如果要永久地保留这些数据,就需要将它们 保存在电脑的磁盘文件中。Java的I/O机制可以将保存在磁盘文件中的数据读取出来,也可以将数 据删除或写入磁盘文件中(文件不限于文本文件、Excel表格、二进制文件等)。本章将详细介绍

Java I/O是如何操作的。

014.1 输入/输出流

14.1.1 什么是流

学习《零基础Java从入门到精通》_14.1 Java I/O

计算机编程中经常使用“流”这个抽象概念,它是指不同设备间数据传输内容的抽象。当需 要从一个数据源读取或是向一个目标写入数据时, 就可以使用流。数据源可以是文件、内存、网 络连接等,流就是这些数据在传输过程中的抽象概念,也可以理解为一个有序列的数据。

按照流的传输操作类型划分,可以分为输入流和输出流。输入流是指从一个数据源读取数据 对象;输出流是指向一个目的地传输数据对象。

图14.1.1 输入流与输出流

Java I/O,即Java Input or Output,是指Java中对流处理的方式。操作的流可以是文件、网络 请求数据、压缩包、Excel文档等。java.io包中提供了专门表示输入/输出流的类,如字节输入流

第 14 章 Java I/O

InputStream类、字节输出流OutputStream类、字符输入流Reader类和字符输出流Writer类。

java.io包中提供了负责各种方式的输入和输出的操作方法,同时也支持各种格式,比如基本类 型、对象等。下面两个小节将对输入流和输出流进行介绍。

14.1.2 输入流

Java中用来表示输入流的类分为两种,分别是字节输入流InputStream类和字符输入流Reader 类。下面对这两个类进行介绍。

1.InputStream类

InputStream类是所有字节输入流类的父类,是一个抽象类,其子类如图14.1.2所示。

图14.1.2 InputStream类的子类介绍图

InputStream类中所有方法在调用时都会抛出IOException异常,表示在处理输入/输出流时发生 的问题异常。InputStream类中的成员方法如表14.1.1所示。

基 础 Java 从入门到精通

LINGJICHU JAVA CONGRUMENDAOJINGTONG

表14.1.1 InputStream类的成员方法

方法 功能描述

available() 返回输入流中预估的可读字节数

close() 关闭输入流并释放系统资源

mark(intreadlimit) 标记输入流中的当前位置

markSupported() 判断输入流是否支持mark()和reset()方法

read() 从输入流中读取下一个字节的数据

reset() 将输入流重新定位到上次在此输入流调用mark()方法的位置

skip(long n) 跳过并丢弃输入流n个字节数据

动手写14.1.1

其运行结果为:

图14.1.3 InputStream类示例

需要注意的是,Java中并不是所有InputStream类的子类都实现或重写了InputStream类中的所有 成员方法,例如skip()和reset()方法只可以在部分子类中使用。

2.Reader类

InputStream类是用来处理字节流的,但是在Java环境中,字符文本都是Unicode编码,是双字节 的,不适合使用InputStream来进行处理。java.io包中提供了Reader类,专门用于处理字符流,降低 了开发者的开发成本。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Java+EE应用开发实践教程》_读懂新的设计思路_预览知识的道路
下一篇:《JAVA服务端研发知识图谱》_让你更懂Java后台研发_1.6.4 Map
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×