Java(IO异常解释(为什么要捕获异常,为什么要给NULL)

实现copy的代码:

package a0420.iotest1.Test2;import java.io.IOException;public class Test {public static void main(String[] args) {CopyMethod.FileCopy("D:\\idealTestio\\copy.txt","D:\\idealTestio\\finalPase");}
}

 主要想解释一下这个异常为什么要这么写:

请详细看我代码里的解释:

package a0420.iotest1.Test2;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class CopyMethod {public static void FileCopy(String basePath,String finalPath ){File startFile=new File(basePath);File endFile=new File(finalPath);FileInputStream fis=null;//为什么要把这两个弄出来定义?FileOutputStream fos=null;//因为这个如果不弄出来定关闭流的时候可能会没有流对象//定义空是因为要给初始值才能调方法例如后面用这个流调了关闭                                                    流的方法(要给初始值才能调用方法不然调不出来) try {fis=new FileInputStream(startFile);fos=new FileOutputStream(endFile);byte[] bytes=new byte[1024];int len;while((len=fis.read(bytes))!=-1){fos.write(bytes,0,len);}} catch (IOException e){e.printStackTrace();}finally {//关闭流放在这个里面是为了必须要关闭if(fos!=null){//判断为空是因为如果为空的话控制台会报控制指针异常try {fos.close();//这里捕获异常是因为clos的原因,搜了一下有很多种原因//我比较赞成的一种原因是:可能前面会关掉,可能流会异常关不掉                                                                                等等所以会抛出异常!!!!!!!} catch (IOException e) {e.printStackTrace();}}if(fis!=null){//这里就和上面的输出流解释一样了try {fis.close();} catch (IOException e) {e.printStackTrace();}}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity类银河恶魔城学习记录15-1,2 p153 Audio Manager p154 Audio distance limiter

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili AudioManager.cs using System.Collections; using System.Collections.Gen…

三大语音机器人:如何提升销售效率

如今,在互联网技术的支持下,越来越多的企业开始采用电销方式来推销他们的产品或服务。当然,电销的效率往往取决于销售过程中是否采用了高效的工具和方式。不过,对于一些销售人员而言,保持高效率从来不是一件容易的事情…

Ubuntu下载的nginx的位置

位置在/etc/nginx 启动nginx systemctl status nginx上面的命令不合适,就重启nginx sudo service nginx restart 关闭nginx nginx -s stop Ubuntu默认的html地址在该文件夹中的default中: /etc/nginx/sites-available if ($http_host ~* "^(w…

【计算机系统基础读书笔记】1.1.2 冯诺依曼机基本结构

1.1.2 冯诺依曼机基本结构 冯诺依曼机基本结构如图所示: 模型机中主要包括: 主存储器:用来存放指令和数据,简称主存或内存; 算数逻辑部件(Arithmetic Logic Unit,简称ALU)&#x…

实现SpringMVC底层机制(二)

文章目录 1. 动态获取spring配置文件1.修改SunWebApplicationContext.java2.修改SunDispatcherServlet.java 2.自定义Service注解1.需求分析2.编写Monster.java3.自定义Service注解4.编写Service接口MonsterService.java5.编写Service实现类MonsterServiceImpl.java6.修改SunWe…

华火电燃灶:市场认可度最高的品牌

华火电燃灶市场认可度高,这得益于其独特的技术优势、卓越的产品性能以及广泛的市场应用。作为一种新型的燃气灶具,华火电燃灶在市场上的表现备受瞩目,成为了众多消费者和业内人士关注的焦点。 首先,华火电燃灶的技术优势是其市场认…

pytorch-激活函数与GPU加速

目录 1. sigmod和tanh2. relu3. Leaky Relu4. selu5. softplus6. GPU加速7. 使用GPU加速手写数据训练 1. sigmod和tanh sigmod梯度区间是0~1,当梯度趋近0或者1时会出现梯度弥散的问题。 tanh区间时-1~1,是sigmod经过平移和缩放而…

【毕设绝技】基于 SpringCloud 的在线交易平台商城的设计与实现-数据库设计(三)

毕业设计是每个大学生的困扰,让毕设绝技带你走出低谷迎来希望! 基于 SpringCloud 的在线交易平台商城的设计与实现 一、数据库设计原则 在系统中,数据库用来保存数据。数据库设计是整个系统的根基和起点,也是系统开发的重要环节…

Matlab|交直流混合配电网潮流计算(统一求解法)

目录 1 主要内容 算例模型 统一求解法迭代方程 算法流程图 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序为matlab代码,采用统一求解法对交直流混合配电网进行潮流计算,统一迭代法又称统一求解法,其思路是将混联系统中的交流网…

强化学习的智能体概念与代码实例

在强化学习中,智能体(agent)是与环境进行交互并学习如何做出决策以达到某种目标的实体。智能体通常具有以下几个组成部分: 策略(Policy):智能体的策略定义了在给定状态下选择动作的规则或概率分…

C语言 | Leetcode C语言题解之第44题通配符匹配

题目&#xff1a; 题解&#xff1a; bool allStars(char* str, int left, int right) {for (int i left; i < right; i) {if (str[i] ! *) {return false;}}return true; } bool charMatch(char u, char v) { return u v || v ?; };bool isMatch(char* s, char* p) {in…

React Hooks(常用)笔记

一、useState&#xff08;保存组件状态&#xff09; 1、基本使用 import { useState } from react;function Example() {const [initialState, setInitialState] useState(default); } useState(保存组件状态) &#xff1a;React hooks是function组件(无状态组件) &#xf…

探索 Chrome 插件开发之旅

浏览器扩展程序拥有无限可能性&#xff0c;它们能丰富我们的浏览体验&#xff0c;提升工作效率&#xff0c;甚至改变网络世界的交互方式。谷歌 Chrome 浏览器的插件生态尤为繁荣&#xff0c;本文将引导你走进 Chrome 插件开发的世界&#xff0c;从入门基础知识到实战案例&#…

IDEA生成测试类

方法一 具体流程: 选中要生成的测试类------------>选择code选项------------>选择Generate选项---------->选择test选项---------->选择要生成的方法 第一步: 光标选中需要生成测试类的类 找到code选项 选中Generate选项 选中test选项 选中你要生成的测试…

【嵌入式笔试题】C语言笔试题(4)

C语言非常之经典的笔试题。 4.综合题(18道) 4.1下面代码输出是几? int main() { int j = 2; int i = 1; if(i = 1) j = 3; if(i = 2) j = 5; printf("%d", j); } 答案: 输出为 5 。 解读: 注意 if 的条…

授人以渔 选购篇十二:路由器选购要点

文章目录 系列文章Wi-Fi 标准&#xff1a;WiFi6或以上无线速度&#xff1a;千兆以上Mesh组网有线端口LAN端口数量&#xff1a;布线拓扑结构决定LAN端口速率&#xff1a;千兆WLAN端口&#xff1a;2.5G其他&#xff1a;Link Aggregation&#xff08;链路聚合&#xff09; 附加接口…

简单的jmeter上传文件脚本

1、设置上传接口的headers的值 2、添加post请求

数据结构系列-二叉树之前序遍历

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 这篇文章&#xff0c;我们主要的内容是对二叉树当中的前历的算法进行讲解&#xff0c;二叉树中的算法所要求实现的是 从根到左子树再到右子树的遍历顺序&#xff0c;可能这样不太…

什么是用户体验(UX)文案,为什么它很重要?

网上购物如今比以往任何时候都更加相关。所以我们将以此为例说明什么是用户体验&#xff08;UX&#xff09;文案&#xff0c;以及为什么它很重要。 假设你去了一个在线商店。你需要执行一系列操作&#xff1a; 找到合适的部分选择你感兴趣的产品弄清楚它们是什么&#xff0c;…

2.6设计模式——Flyweight 享元模式(结构型)

意图 运用共享技术有效地支持大量细粒度的对象。 结构 其中 Flyweight描述一个接口&#xff0c;通过这个接口Flyweight可以接受并作用于外部状态。ConcreteFlyweight实现Flyweight接口&#xff0c;并作为内部状态&#xff08;如果有&#xff09;增加存储空间。ConcreteFlywe…