当前课程知识点:Java程序设计 > 第五章 输入输出 > 5.0-导学 > 5.0-导学
大家好
欢迎回来继续学习
Java语言程序设计
这一章我们来学习
异常处理和输入输出流
首先我来给大家简单介绍一下
这一章有哪些主要内容
在这一章首先给大家
简单的介绍一下异常处理
那么什么是异常处理
实际上我们程序运行的时候
用户在操作的时候
或者程序的运行环境
都有可能出现
各种各样的错误或者故障
那么这时候怎么办
我们的程序总不能说
遇到点用户操作错误
或者遇到点环境故障
就立刻崩溃吧
我们希望程序
能有一定的容错能力
当用户操作不当的时候
当环境出现了
这样那样的故障的时候
我们希望程序能够
尽量从错误和故障中恢复
能够继续运行
那么至少能够
给用户一个明确的信息
到底发生了什么
使得程序不得不停止运行
那么如何做到这一点呢
如果说像我们前面
像过程程序的时候那样
每做一个操作
先判断一下成功与否
成功如何如果不成功如何
那么这样虽然可以
但是有的时候
我们就会发现你的容错代码
和这个程序的正常逻辑
都交织在一起
使得你的程序逻辑
不管设计起来还是读起来
都特别的复杂
面向对象的程序设计里面
有一个异常处理机制
就是将程序的主要逻辑
跟这种容错处理的逻辑分开
发现异常的地方
不见得是立刻处理异常的地方
那么我们可以在程序中
当发现了某些用户操作错误
或者环境错误的时候
向这个模块的调用者
抛出一个信息说这儿发生问题了
我们叫做抛出异常
然后在调用模块中
再看是不是解决这个问题
它的调用模块也可以说
我暂时不解决继续再向上级抛出
那么在一个我们
预先设计好的特殊模块中
可以对抛上来的
这些异常进行处理
这种机制就是面向
对象程序设计中的异常处理机制
在这一章会给大家
简要的介绍一下这异常处理机制
那么为什么把异常处理机制
放在这一章介绍呢
也是因为我们要处理
输入输出操作的时候
库里面的很多IO流类
它的方法都是有可能抛出异常的
这样的话我们用库里这些
预定义好的IO流类
用它的方法来处理
文件输入输出操作的时候
就不可避免的需要
捕获异常处理异常
所以我们将异常处理
跟输入输出流放在同一章来介绍
好
在这一章的主要内容
是要给大家介绍
怎么样进行输入输出
相信大家在前面的例题习题中
已经学会怎么样从标准设备
进行输入和输出了
那这一章要教给大家怎么样
将信息输出到文件中
怎么样从文件中把信息读取出来
为什么呢
因为我们在内存中存放的这些数据
当程序运行结束以后
就全部的消失了
因为程序内存就释放了
那么如果我们需要
一些数据持久保存
那就需要将这些数据
写到磁盘文件上去
这个就要靠文件输出流类来完成
我们说到输出流输入流
大家一定有些疑问什么叫流呢
在Java中将信息的输入和输出
看作信息的流动
输出流就是将数据从程序空间
输出到程序以外地方的
这么一个通道
当然我们不能用通道这个词
通道在计算机专业中
这个术语已经
被用作其他的场合了
所以在这个地方叫做流stream
输入也是一样
要通过输入流就程序空间以外
其他地方的数据读取出来
输入到程序空间中
供我们程序来处理
在Java中它的类库里面
有大量有用的与输入输出相关的
这些预定义好的类
我们叫它输入输出流类
也就是IO流类
而且在Java中你处理输入输出
可以用的类和方法很多
这一点虽然是件好事
但是对于初学者来说也是个困惑
那么多可用的类
那么多可用的方法
我做一件简单的输入
或者输出操作的时候
该选用哪个呢
要把类库里这么多IO流类
全都读通了都学懂了
都学会使用了
确实还是需要相当长的时间的
所以在这一章我们作为
一个入门课程里面的一个部分
我就通过一些例题给大家来介绍
怎么样读写文本文件
怎么样读写二进制文件
还有怎么样将内存中的整个对象
存到文件中将来再恢复出来
这叫对象序列化
怎么样将文件压缩和解压缩
那么在Java中
实际上进行文件输入输出处理
是非常方便的
大家看了这一章的这些例题以后
相信大家就能够
做最简单的文件IO操作了
好
这一章的内容就是这些
接下来我将仔细
给大家介绍这一章的各个部分
-1.0-导学
--1.0-导学
-1.1-Java与面向对象程序设计简介
--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介
-1.2-基本数据类型与表达式
-第一章 Java语言基础知识--1.2-基本数据类型与表达式
-1.3-数组
--1.3.1-数组
-第一章 Java语言基础知识--1.3-数组
-1.4-算法的流程控制
--第一章 Java语言基础知识--1.4-算法的流程控制
-1.5-第一章小结
-第一章编程练习题
-课件
--外部链接
-Java环境配置、Eclipse使用、Helloworld程序详解
--使用eclipse建立Java项目、编写和运行Java程序
-Java数据类型
--Java整数类型
--Java浮点类型
--数据类型实战
--数据类型转换
--Java强制类型转换精度损失示例与表达式中的数据类型转换
-Java数组
-Java变量
--Java的变量
-命令行参数
--命令行参数的介绍
-2.0-导学
--2.0-导学
-2.1-面向对象方法的特性
--第二章 类与对象--2.1-面向对象方法的特性
-2.2-1-类声明与对象创建
--第二章 类与对象--2.2-1-类声明与对象创建
-2.2-2-数据成员
--第二章 类与对象--2.2-2-数据成员
-2.2-3-方法成员
--第二章 类与对象--2.2-3-方法成员
-2.2-4-包
--2.2-4-包
--第二章 类与对象--2.2-4-包
-2.2-5-类的访问权限控制
--第二章 类与对象--2.2-5-类的访问权限控制
-2.3-1-对象初始化
--第二章 类与对象--2.3-1-对象初始化
-2.3-2-内存回收
--第二章 类与对象--2.3-2-内存回收
-2.4-枚举类
--2.4-枚举类
--第二章 类与对象--2.4-枚举类
-2.5-应用举例
--2.5-应用举例
-2.6-第2章小结
-第二章编程练习题
-课件
--第二章课件
-3.0-导学
--3.0-导学
-3.1.1-3.1.2-类继承的概念和语法
--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法
-3.1.3-隐藏和覆盖
--第三章 类的重用--3.1.3-隐藏和覆盖
-3.2-Object 类
--第三章 类的重用--3.2-Object 类
-3.3-终结类与终结方法
--第三章 类的重用--3.3-终结类与终结方法
-3.4-抽象类
--3.4-抽象类
--第三章 类的重用--3.4-抽象类
-3.5-泛型
--3.5-泛型
--第三章 类的重用--3.5-泛型
-3.6-类的组合
--3.6-类的组合
-3.7-小结
--3.7-小结
-第三章编程练习题
-课件
--课件
-4.0-导学
--导学
-4.1-接口
--接口
--第四章 接口与多态--4.1-接口
-4.2.1-4.2.2-类型转换
--类型转换
--第四章 接口与多态--4.2.1-4.2.2-类型转换
-4.2.3-方法的查找
--方法的查找
--第四章 接口与多态--4.2.3-方法的查找
-4.3-多态的概念
--多态的概念
--第四章 接口与多态--4.3-多态的概念
-4.4-多态的应用举例
--多态的应用举例
--第四章 接口与多态--4.4-多态的应用举例
-4.5-构造方法与多态性
--构造方法和多态性
--第四章 接口与多态--4.5-构造方法与多态性
-4.6-本章小结
--本章小结
-第四章编程作业
-课件
--课件
-5.0-导学
--5.0-导学
-5.1.1-5.1.2-异常处理的概念
--第五章 输入输出--5.1.1-5.1.2-异常处理的概念
-5.1.3-5.1.5-异常的处理
--第五章 输入输出--5.1.3-5.1.5-异常的处理
-5.2-输入输出流的概念
--输入输出流的概念
--第五章 输入输出--5.2-输入输出流的概念
-5.3.1-写文本文件
--写文本文件
--第五章 输入输出--5.3.1-写文本文件
-5.3.2-读文本文件
--读文本文件
--第五章 输入输出--5.3.2-读文本文件
-5.3.3-写二进制文件
--写二进制文件
--第五章 输入输出--5.3.3-写二进制文件
-5.3.4-读二进制文件
--读二进制文件
-5.3.5-File类
--File类
-5.3.6-处理压缩文件
--处理压缩文件
-5.3.7-对象序列化
--对象序列化
-5.3.8-随机文件读写
--随机文件读写
-5.4-本章小结
--本章小结
-课件
--课件
-6.0-导学
--导学
-6.1-Java集合框架介绍
--第六章 对象群体的组织--6.1-Java集合框架介绍
-6.2-主要接口及常用的实现类
--第六章 对象群体的组织--6.2-主要接口及常用的实现类
-6.3-常用算法
--常用算法
-6.4-数组实用方法
-6.5-基于动态数组的类型(Vector, ArrayList)
--基于动态数组的类型(Vector, ArrayList)
-6.6-遍历Collection
-6.7-Map接口及其实现
-6.8-第6章小结
--第6章小结
-课件
--课件
-7.0-导学
--导学
-7.1-绘图
--绘图
-7.2-Swing基础
--Swing基础
-7.3-Swing的层次
--Swing的层次
-7.4-布局管理
--布局管理
-7.5-内部类
--内部类
-7.6-事件处理的基本概念
-7.7-事件派发机制
--事件派发机制
-7.8-顶层容器
--7.8-顶层容器
-7.9-中间层容器(一)
-7.10-中间层容器(二)
-7.11-原子组件(一)
-7.12-原子组件(二)
-7.13-原子组件(三)
-7.14-其它Swing特性
-7.15-第7章小结
-课件
--课件