java 20 - 6 加入了异常处理的字节输出流的操作
昨天坐了十几个钟的车回家,累弊了....
————————————割掉疲劳—————————————
前面的字节输出流都是抛出了异常不管,这次的加入了异常处理:
首先还是创建一个字节输出流对象,先给它赋值null
FileOutputStream out = null ;
接下来我们就看创建一个字节输出流的步骤中,会有几次可能出现异常的地方:
1、把out指向一个目录路径时,可能会异常。
try{
out = new FileOutputStream( "z"\\a.txt");
}//我根本就没z盘,肯定错误
catch(FileNotFoundException e){
e.printStackTrace();
}
2、往这个文件中添加数据时,可能会异常
try {
out.write("java".getBytes());
} catch (IOException e) {
e.printStackTrace();
}
3、释放资源时,可能会异常
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
为了代码的严谨,上面的代码需要进一步改进:
FileOutputStream out = null;
try{
out = new FileOutputStream("z:\\a.txt");
out.write("java".getBytes());
//out.close(); 由于前面的两个如果有任一出错,这个就无法执行,所以得放到后面
}
catch(IOException e){
e.printStackTrace();
}
//如果out指向的路径不存在,那么都创建不了文件,所以就不用释放资源
if(out != null){
try{
out.close();
}
catch(IOException e){
e.printStackTrace();
}
}
java 20 - 6 加入了异常处理的字节输出流的操作的更多相关文章
- JAVA笔记11__File类/File类作业/字节输出流、输入流/字符输出流、输入流/文件复制/转换流
/** * File类:文件的创建.删除.重命名.得到路径.创建时间等,是唯一与文件本身有关的操作类 */ public class Main { public static void main(St ...
- java 20 - 4 IO流概述和一个简单例子解析
IO流的分类: 流向: 输入流 读取数据 输出流 写出数据 数据类型: 字节流 字节输入流 读取数据 InputStream 字节输出流 写出数据 OutputStream 字符流 字符 ...
- 字节输出流FileOutputStream
#字节流 字节输出流FileOutputStream 创建输出流对象 OutputStream 流对象是一个抽象类,不能实例化.所以,我们要找一个具体的子类 :FileOutputStream. 查看 ...
- 一切皆为字节和字节输出流_OutputStream类&FileOutputStream类介绍
一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使用什 ...
- java 20 - 9 带有缓冲区的字节输出流和字节输入流
由之前字节输入的两个方式,我们可以发现,通过定义数组读取数组的方式比一个个字节读取的方式快得多. 所以,java就专门提供了带有缓冲区的字节类: 缓冲区类(高效类) 写数据:BufferedOutpu ...
- java 20 - 7 字节输入流的操作
字节输入流操作步骤: A:创建字节输入流对象 B:调用read()方法读取数据,并把数据显示在控制台 C:释放资源 步骤A.C 略过,说步骤B 读取数据的方式: A:int read():一次读取 ...
- java 20 - 5 字节输出流写出数据的一些方法
首先回顾下 字节输出流操作步骤: A:创建字节输出流对象 B:调用write()方法 C:释放资源 创建字节流输出对象 FileOutputStream fos = new FileOutput ...
- 《深入理解Java虚拟机》-----第8章 虚拟机字节码执行引擎——Java高级开发必须懂的
概述 执行引擎是Java虚拟机最核心的组成部分之一.“虚拟机”是一个相对于“物理机”的概念 ,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器.硬件.指令集和操作系统层面上的,而 ...
- Java(20~24)
1.Collection中的集合称为单列集合,Map中的集合称为双列集合(键值对集合). 2.Map常用方法:map.put() map.get() map.remove() map.ke ...
随机推荐
- Web.Config的配置
1.配置数据库连接 在<connectionStrings></connectionStrings>节中完成,配置过程需指定四个属性server(DataSource)服务器名 ...
- How to upgrade workflow assembly in MOSS 2007
This problem generally start when you are having an existing custom workflow and there are instances ...
- Windows2008系统忘记密码的解决方法
网上转载的,忘记密码不用发愁了. windows2008系统忘记密码的解决方法: 利用放大镜的漏洞来重设密码 首先用系统盘来引导 选择修复计算机 然后打开命令提示符:先备份放大镜,然后用CMD替换 ...
- Ubuntu上安装Apache、MySql和PHP
参考文献: http://developer.51cto.com/art/201110/299303.htm
- Android项目实战(二):安卓应用程序退出的三种方法
现在的APP退出的时候都不是让用户点击了“后退键”就退出.防止用户点错了后退键而造成的用户体检不好. 一年前搞的Demo代码不见了,重新写下就当是复习和以后直接拿来用把 目前流行的解决一般分为两种: ...
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(五)Image View视图 学习笔记
留下两个问题:1.后面涉及到的异常不知道原因.2.动态图片到了程序里面就不动了. 然后: 上面是有问题的,下面是没有问题的了. 代码(另外简单写的代码,纠正了那个错误): imp ...
- ppt
放映时 F5是从头开始放映, shift+F5是从当前页开始放映 在菜单->幻灯片放映->勾选 “使用演讲者视图” 就可以在播放时看到自己的备注
- bsearch的溢出问题
在java中为了避免 low+high溢出,可以用无符号右移:正数高位补0,负数高位补1 int mid = (low + high) >>> 1; 如果是在c++中,那么需要先转换 ...
- 浅谈 sql 中数据的约束
数据约束 --对用户操作表的数据进行约束 1.默认值 --当用户对使用默认值的字段不插入值的时候,就使用默认值 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null [例如:ad ...
- 烂泥:SQL Server 2005数据库备份与恢复
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 服务器的迁移,因为业务使用的数据库是SQL Server 2005,所以就要首先对数据库进行备份. 备份可以分为手动备份和自动备份,我们先来介绍手动备份 ...