间歇性混吃等死,持续性踌躇满志系列-------------第9天

1、使用throw语句抛出异常

在通常情况下,程序发生错误时系统会自动抛出异常,而有时希望程序自动抛出异常,可以使用throw语句来实现。

 package code0320;

 public class demo01 {
//定义常量(圆周率)
final static double PI = 3.14; //根据半径计算圆周率面积的方法
public void computeArea(double r) throws Exception {
if (r <= 20.0) {
//使用throw语句抛出异常
throw new Exception("程序异常:\n 半径为:" + r + "\n 半径不能小于20.");
} else {
//计算圆的面积
double circleArea = PI * r * r;
System.out.println("半径是" + r + "的面积是:" + circleArea);
}
} public static void main(String[] args) {
//创建对象
demo01 ex = new demo01();
try {
//调用方法
ex.computeArea(14);
} catch (Exception e) {
//输出异常信息
System.out.println(e.getMessage());
}
}
}

运行结果图

2、捕获单个异常

Java中捕获异常是通过try...catch...finally语句来完成的。其中try语句块是必须的,catch和finally语句块可以选择一个或者两个。try语句块是用来放置可能出现问题的语句,catch语句块用来放置异常发生后执行的代码。finally语句块用来放置无论是否发生异常都需要执行的代码。

 package code0320;

 public class demo01 {
public static void main(String[] args) {
//定义try语句块
try {
System.out.println("进入try语句块");
//得到一个空的class对象
Class<?> clazz = Class.forName("");
System.out.println("离开try语句块");
}catch(ClassNotFoundException e){
System.out.println("进入catch语句块");
e.printStackTrace();
System.out.println("离开catch语句块");
}finally {
System.out.println("进入finally语句块");
}
}
}

运行结果图

3、文件的创建与删除

可以使用File类创建一个文件对象,通常使用以下3种构造方法来创建文件对象。

①File(String pathname)

该构造方法通过将给定路径名字符串转换为抽象路径名来创建一个新的File实例。语法格式如下:

new File(String pathname)

pathname:是指路径名称(包含文件名)

FIle file = new File("D:/1.txt)

②File(String parent,String child)

该构造方法根据定义的父路径和子路径字符串(包含文件名)创建一个新的File对象。语法格式如下:

new File(String parent,String child)

parent:父路径字符串

child:子路径字符串

③File(File f,String child)

该构造方法根据parent抽象路径名和child路径名字符串创建一个新的File实例。语法格式如下:

new File(File f,String child)

f:父路径对象

child:子路径字符串

File file = new File("D:/MYWORD","word.txt");

 package code0320;

 import java.io.File;

 public class demo01 {
public static void main(String[] args) {
//创建文件对象
File file = new File("D:/myword","test.txt");
//如果该文件存在
if (file.exists()){
//将文件删除
file.delete();
//输出的提示信息
System.out.println("文件已删除");
}else{
//如果文件不存在
try{
//try语句块捕捉可能出现的异常
file.createNewFile();//创建改文件
//输出的提示信息
System.out.println("文件已创建");
}catch (Exception e){ //catch处理该异常
//输出异常信息
e.printStackTrace();
}
}
}
}

运行结果图

4、获取文件信息

 package code0320;

 import java.io.File;

 public class demo01 {
public static void main(String[] args) {
//创建文件对象
File file = new File("D:/myword","test.txt");
//判断该文件是否存在
if (file.exists()){
String name = file.getName();
long length = file.length();
System.out.println("文件名称:"+name+"==="+"文件长度是:"+length);
}else{
System.out.println("文件不存在");
}
}
}

运行结果图

5、文件的输入/输出流

 package code0320;

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; public class demo01 {
public static void main(String[] args) {
//创建文件对象
File file = new File("D:/myword","test.txt");
//捕捉异常
try {
//创建FileOutputStream对象
FileOutputStream out = new FileOutputStream(file);
//创建byte型数组
byte buy[] = "后天科技 Java部".getBytes();
//将数组信息写入到文件中
out.write(buy);
//将流关闭
out.close();
}catch (Exception e){
//输出异常信息
e.printStackTrace();
}
try{
//创建FileInputStream类对象
FileInputStream in = new FileInputStream(file);
//创建byte数组
byte byt[] = new byte[2048];
//从文件中读取信息
int len = in.read(byt);
//将文件中的信息输出
System.out.println("文件中的信息是:"+new String(byt,0,len));
//关闭流
in.close();
}catch (Exception e){
//输出异常信息
e.printStackTrace();
}
}
}

运行结果图

JAVA进阶9的更多相关文章

  1. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  2. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...

  3. Java线程间通信方式剖析——Java进阶(四)

    原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...

  4. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  5. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  6. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  7. Java进阶01 String类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...

  8. 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)

    本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...

  9. Java进阶(七)正确理解Thread Local的原理与适用场景

    原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...

  10. Java进阶(四十七)Socket通信

    Java进阶(四十七)Socket通信   今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是 ...

随机推荐

  1. 日志级别的选择:Debug、Info、Warn、Error

    日志信息分类 1.等级由低到高:debug<info<warn<Error: 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东: ...

  2. Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X" (Doc ID 1476663.1)

    Doc ID 1476663.1) To Bottom In this Document   Purpose   Troubleshooting Steps   Brief Definition:   ...

  3. Hive中知识点

    hive的最新学习资料:http://www.cnblogs.com/qingyunzong/p/8707885.html hive的参数设置大全:https://cwiki.apache.org/c ...

  4. 广师大学习笔记之文本统计(jieba库好玩的词云)

    1.jieba库,介绍如下: (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组:除此之外,jieba 库还提供了增加自定 ...

  5. typeScript面对对象篇一

    面向对象是typescript的核心部分,这里先介绍下面向对象的七大原则: 单一原则:一个类子负责一个职责. 里氏替换原则:子类可以在任何地方替换它的父类. 依赖倒置原则:代码要依赖于抽象的类,而不要 ...

  6. 基于 HTML5 的 WebGL 3D 档案馆可视化管理系统

    前言 档案管理系统是通过建立统一的标准以规范整个文件管理,包括规范各业务系统的文件管理的完整的档案资源信息共享服务平台,主要实现档案流水化采集功能.为企事业单位的档案现代化管理,提供完整的解决方案,档 ...

  7. webpack+vue 组件间传参(单一事件中心管理组件通信--$root),如果有路由的话会失效

    先给一个例子: <body> <div id="box"> <com-a></com-a> <com-b></co ...

  8. Shell命令-文件及内容处理之diff、vimdiff

    文件及内容处理 - diff.vimdiff 1. diff:比较两个文件区别 diff命令的功能说明 diff命令用比较文件的差异.diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则 ...

  9. idea在Terminal中使用maven指令

    如果无法直接使用mvn指令,那么这里需要配置你idea中的maven的环境变量, 先说maven在idea中的位置,在你idea安装目录下的\plugins\maven 接下来配置环境变量:在你的用户 ...

  10. MD 的常用语法格式

    参考资料:MarkDown 语言常用语法 注意:vscode 中,可以使用 ctrl + shift + v 进行预览: 一.标题 一般使用 # 来进行层级标识.共 6 个层级,再多不识别. #  = ...