间歇性混吃等死,持续性踌躇满志系列-------------第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. 自学提高:JVM点滴

    写在前面 这年头就是得不断地学习. 学什么东西就看需要了. 不学习很难进步. 同时别人也会超过你. 东西都是网上有的.图片也好,文字也好.基本都可以在网上找到. JAVA运行原理 JVM包括字节码解释 ...

  2. Codeforces Round #498 (Div. 3)--E. Military Problem

    题意问,这个点的然后求子树的第i个节点. 这道题是个非常明显的DFS序: 我们只需要记录DFS的入DFS的时间,以及出DFS的时间,也就是DFS序, 然后判断第i个子树是否在这个节点的时间段之间. 最 ...

  3. String Successor zoj 3490

    链接 [https://vjudge.net/contest/294259#problem/D] 题意 就是给你一个字符串,要进行n次操作 让你输出每次的字符串 操作规则: 1.如果有数字或者字母就忽 ...

  4. xcode8 使用Instruments检测定位并解决iOS内存泄露

    https://www.jianshu.com/p/9bc7e65fc247 2017.07.27 17:24* 字数 628 阅读 1319评论 6喜欢 21 简介: 虽然苹果出了ARC(自动内存管 ...

  5. 【php】记录一次生产环境bug的调试

    参考链接: [php调试利器 -- xdebug]https://www.cnblogs.com/anyeshe/p/5746404.html [PHP 后端调试输出方法(笨办法)]https://b ...

  6. Python进阶3---python类型注解、functools

    函数定义的弊端 函数注解Function Annotations 业务应用 inspect模块 #示例 import inspect def add(x,y:int,*args,**kwargs) - ...

  7. java valueOf()函数

    valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等. 该方法是静态方法.该方法可以接收两个参数一个是字符串,一个是基数. 语法 该方法有以下 ...

  8. nginx.conf配置详解

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  9. Python——Tk控件说明

    控件 描述 具体说明 Button 按钮  点此链接 Canvas 提供绘图形状的功能,包含图像和位图  点此链接 Checkbutton 多选框  点此链接 Entry 单行文本框  点此链接 Fr ...

  10. tomcat8 源码分析 | 组件及启动过程

    tomcat 8 源码分析 ,本文主要讲解tomcat拥有哪些组件,容器,又是如何启动的 推荐访问我的个人网站,排版更好看呦: https://chenmingyu.top/tomcat-source ...