JavaSE_day38(异常分类,自定义异常,File介绍,方法使用,相对路径与绝对路径概念以及注意的点)

1 A.java 

* 异常的分类:
        运行时期异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理
        编译时期异常:是Exception的子类,非RuntimeExcpetion的子类,在编译时期必须处理

public class A {
	public static void main(String[] args) {
		System.out.println(2 / 0); //运行时异常
		
		String s = null;
		System.out.println(s.length());//运行时异常
		
		//若不处理异常 则是编译异常(try-catch或throws)
		try {
			FileWriter fw = new FileWriter("src/day38/a.txt");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

2 B.java

 * 自定义异常!
 * 
 * 需求:写一个方法,接受考试成绩,如果考试成绩的范围在0-100之间则属于正常,否则属于异常
 * 
 * throws:处理异常的一种方式,把异常抛出,由调用者来处理
 * throw:制造异常的方式,并且结束方法

 * 
 * 注意:如果抛出(使用throw制造异常时会编译异常)的是编译时期异常,必须在方法声明处抛出(throws)
 * 
 * 如何自定义一个异常类呢?
 *         非常简单,写一个类去继承Exception或者RuntimeException,然后实现多个构造即可
 * 

自定义异常类MyException

public class MyException extends /*RuntimeException*/ Exception{

	public MyException() {
		super();
		// TODO Auto-generated constructor stub
	}

	public MyException(String message) {
		super(message);
	
	}
	
	/*public MyException() {
		super();
	}
	
	public MyException(String s) {
		super(s);
	}*/
	
	
}

主类:

public class B {
	public static void main(String[] args) {
		/*boolean flag = checkScore(-10);
		System.out.println(flag);*/
		
		try {
			checkScore(110);
		} catch (Exception e) {
	
//			System.out.println("111");
			e.printStackTrace();
//			System.out.println("这里:"+e.getMessage());
		}
	}
	
/*	public static boolean checkScore(int score) {
		//判断考试成绩是否符合范围,如果不符合则返回false
		if(score < 0 || score > 100) {
			return false;
		}
		
		//符合
		return true;
		
	}*/
	
	
	public static void checkScore(int score) throws Exception {
		if(score < 0 || score > 100) {
			//throw用法介绍:
//			throw new RuntimeException("考试成绩不符合要求丫丫");  //制造异常
			//throw new Exception("考试成绩不符合要求");
			
			//自定义异常类
			throw new MyException("您输入的考试成绩不符合要求");
		} 
		
		System.out.println("考试成绩符合要求");
	}
	

}

3 C.java

 *    File: 文件和目录路径名的抽象表示形式, File 类的实例是不可变的
 *
 * 
 *  构造方法:
 *          File(String pathname) 
            File(String parent, String child) 
 *          File(File parent, String child) 
 *  
 *  File的常用功能:
 *          
 *          1 创建功能:
 *                boolean createNewFile() 
 *                boolean mkdir() 
 *                boolean mkdirs()  
 *  
 *          2 删除功能:
 *                boolean delete() 
 *  
 *          3 获取功能:
 *                File getAbsoluteFile() 
 *                String getAbsolutePath() 
 *  
 *                String getName() 
 *                String getParent() 
 *                File getParentFile()  
 *                String getPath() 
 *                long lastModified()  
 *                long length()  
 
 *          4 判断功能:
 *                boolean exists() 
 *                boolean isAbsolute()  
 *                boolean isDirectory() 
 *                boolean isFile() 
 *                boolean isHidden() 
 *  
 *          5 修改文件名:
 *                boolean renameTo(File dest) 


public class C {
	public static void main(String[] args) {
		//File(String pathname)  : 将指定的路径名转换成一个File对象
		File f = new File("src/day38/b.txt");
		File f2 = new File("F:\\file\\b.txt");
		
		
		//File(String parent, String child):根据指定的父路径 和 文件子路径创建File对象
		File f3 = new File("F:\\file","a.txt");
		
		
		//File(File parent, String child) :根据指定的父路径对象 和 文件子路径创建File对象
		File parent = new File("F:\\flie");
		File f4 = new File(parent,"d.txt");
		
		File f5 = new File(new File("F:\\flie"),"c.txt");
		
		//我们现在只是创建了一个对象,指向了一个文件 或 文件夹, 那我们创建之后能做什么呢?
		
		
		
	}

}

4 D.java

 *  方法使用

        1 创建功能:
 *       boolean createNewFile() 文件
 *       boolean mkdir()   文件夹
 *       boolean mkdirs()  多个文件夹
 *  2 删除功能:
 *       boolean delete() 
 * 
 *  绝对路径:以盘符开头的路径
 *  相对路径:不以盘符开头的,在eclipse中在项目根目录下--javase

public class D {
	
	public static void main(String[] args) throws Exception{
		
		File f = new File("F:\\SoftProjects\\eclipse\\HanStudy\\ClassCode\\javaSe\\file\\abc.txt");  //绝对路径
		File f2 = new File("b\\a.txt");   //相对路径
		
		//boolean createNewFile()  : 当指定文件不存在的时候,创建文件并返回true,否则返回false
		System.out.println(f.createNewFile());
		System.out.println(f2.createNewFile());
		
		
		//boolean mkdir() : 当指定文件夹不存在时创建文件夹并返回true,否则返回false
		File f3 = new File("a");
		System.out.println(f3.mkdir());
		
		//boolean mkdirs() :创建指定文件夹,当文件夹所在的目录不存在,则顺道一路都创建了,当不存在时创建且返回true,否则返回false
		File f4 = new File("a\\b\\c\\d");
		System.out.println(f4.mkdirs());
		
		//boolean delete() :当指定的文件夹或文件夹存在时删除文件或文件夹 并返回true,否则返回false

//		System.out.println(f4.delete());  //只删除最后的 一个文件 或 文件夹 , 在f4对象中就删除了d文件夹
		
//		System.out.println(f3.delete());  //删除了a文件夹
		
//		System.out.println(f2.delete());  //删除了b文件夹下的a.txt文件
	
	
	}

}

5 E.java

 *     方法使用

        3 判断功能:
 *                boolean exists() 
 *                boolean isAbsolute()  
 *                boolean isDirectory() 
 *                boolean isFile() 
 *                boolean isHidden() 
 * 

public class E {
	
	public static void main(String[] args) throws Exception{
		
//		method1();
//		method2();
//		method3();
		method4();
		
	
	}

	private static void method4() {
		//boolean isHidden()  : 判断File对象指向的路径是否有隐藏属性,如果隐藏了返回true,否则返回false
		File f = new File("a\\abc");//判断a文件夹下的abc文件夹是否是隐藏的!若是隐藏了,则返回true,反之,返回false!
		System.out.println(f.isHidden());
	}

	private static void method3() {
		File f = new File("a.txt");  //这个文件要存在,不存在就是返回false,存在就能判断是文件还是文件夹
		File f2 = new File("b");  //这个文件夹要存在,不存在就是返回false,存在就能判断是文件还是文件夹  
		
		//boolean isDirectory()  : 判断File对象指向的路径是否是文件夹,如果是返回true,否则返回false
		//boolean isFile()   :  判断File对象指向的路径是否是文件,如果是则返回true,否则返回false
		
		System.out.println(f.isDirectory());  //false
		System.out.println(f2.isDirectory()); //true
		System.out.println(f2.isFile()); //false
		System.out.println(f.isFile()); //true
	}

	private static void method2() {
		// boolean isAbsolute()  :判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,否则返回false
		File f= new File("asaa.txt");
		File f2 = new File("c:\\");
		System.out.println(f.isAbsolute());  //false
		System.out.println(f2.isAbsolute()); //true
	}

	private static void method1() throws IOException {
		//boolean exists()  : 判断文件 或者 文件夹是否存在,如果存在就返回true,否则返回false
		
		File f= new File("a.txt");
		
		System.out.println(f.exists());
		
		if(!f.exists()){
			f.createNewFile();  //创建文件夹
		}
	}

}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么申请免费的cdn?带附件图文详细操作

背景 我的服务器在国外&#xff0c;域名国内正规备案&#xff0c;但由于国外服务器到国内实在太慢&#xff0c;所以用了cdn&#xff0c;先是用cloudflare&#xff0c;结果慢的惊人&#xff0c;本来测速需要12s&#xff0c;加上cloudflare之后需要15s以上。。。 测速的网站是这…

Linux 信号知识点总结

对于 Linux来说&#xff0c;实际信号是软中断&#xff0c;许多重要的程序都需要处理信号。信号&#xff0c;为 Linux提供了一种处理异步事件的方法。比如&#xff0c;终端用户输入了 ctrlc 来中断程序&#xff0c;会通过信号机制停止一个程序。信号概述 1.信号的名字和编号: 每…

ESP32 CAM 模块和 OpenCV 的二维码扫描器

概述 该项目是关于使用 ESP32 CAM 模块和 OpenCV 设计的二维码扫描仪或阅读器。我们将使用 ESP32 摄像头模块和 python 库开发一个程序和设备,我们可以用它来扫描二维码。使用 ESP32 CAM,项目变得更便宜。 QR 码现在已经成为我们日常生活的一部分,因为我们几乎在任何地方都…

idea中关联Git

注意&#xff1a;未安装和配置Git软件&#xff0c;请先跳转到 Git宝典_没办法&#xff0c;我就是这么菜的博客-CSDN博客 idea关联git 关联git.exe 选择你的Version Control 下的Git 选择你的Git安装目录bin下的git.exe&#xff0c;点击ok 点击Test&#xff0c;显示版本号…

2023贵工程团体程序设计赛--赛后总结

本次比赛共27支队伍参加&#xff0c;总计135人&#xff0c;其中一支队伍为出题组&#xff08;不计入最后排名&#xff09;。实际参赛130人&#xff0c;5人缺考&#xff08;1人未加入题集&#xff09;。 1.人员分布 信息工程学院&#xff1a;22计科2支队伍&#xff0c;22软件6…

如何做到设备维护事半功倍?

在工业生产过程中&#xff0c;设备故障可能导致生产停机、成本增加和安全风险。因此&#xff0c;及时监测设备的健康状况&#xff0c;预测潜在故障&#xff0c;并采取相应的维护措施至关重要。 振动在线监测系统是一种有效的工具&#xff0c;可以实时监测设备振动&#xff0c;并…

从“0”到“1”!低代码开发和云计算的碰撞,引领数字化转型浪潮!

随着互联网技术的飞速发展&#xff0c;数字化转型已经成为企业转型升级的必经之路。而在数字化转型的过程中&#xff0c;云计算和低代码开发逐渐成为新技术的代表&#xff0c;为企业提供更高效、更灵活的技术支持&#xff0c;让企业赢得更大的竞争优势。 云计算的发展 云计算是…

两台电脑之间怎么互相传文件?

​随着技术的发展&#xff0c;我们似乎可以从家中或工作电脑远程访问另一台电脑。同时&#xff0c;一些用户也在想&#xff0c;“我能不能把文件从一台电脑远程传输到另一台电脑&#xff0c;这样我就可以在本地电脑上随心所欲地查看和编辑文件了”。 这个问题的答案是…

每日学术速递5.22

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold(SIGGRAPH 2023) 标题&#xff1a;拖动你的 GAN&#xff1a;生成图像流形上基于点的交互…

简单谈谈BIO,NIO,AIO

目录 IO 概述 阻塞 IO (BIO) 基本理解 非阻塞 IO(NIO) ​核心部分 Channel Buffer Selector Channel Buffer Selector 三者关系 异步非阻塞 IO(AIO) IO 概述 IO 的操作方式通常分为几种&#xff1a;同步阻塞 BIO、同步非阻塞 NIO、异步非阻塞 AIO。 &#xff08;1…

约瑟夫问题的环形链表实现[Java]

⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐如果觉得文章写的不错&#xff0c;欢迎点个关注一键三连&#x1f609;有写的不好的地方也欢迎指正&#xff0c;一同进步&#x1f601;…

C++入门预备语法

C入门预备语法 C关键字命名空间C输入&输出初步缺省参数函数重载引用内联函数auto和范围for&#xff08;C11&#xff09;指针空值nullptr C关键字 命名空间 命名空间是一种将变量名、函数名、类名和库名称等封装到一个命名空间域中&#xff0c;与其他域的同名量相隔离&…

Go语言环境搭建(内附网P下载地址)

一、Golang语言的官网 首先我们登录Golang的官方网站&#xff1a;https://golang.org/ 因为Google和中国的关系&#xff0c;直接登录Golang的官网&#xff0c;需要翻墙。 当然你也可以登录Golang的国内网站&#xff1a;https://golang.google.cn/ 二、下载 在Mac、Windows和L…

如何基于LiveNVR实现无人机等RTMP推流转成GB28181协议级联到GB28181视频平台

1、需求介绍 目前很多移动终端设备&#xff08;如无人机等&#xff09;只支持RTMP推流输出&#xff0c;不支持GB28181协议。但是又有需要通过GB28181协议接入到视频平台的需求。比如有些大疆无人机产品不能直接注册国标平台&#xff0c;只能rtmp推流。那么&#xff0c;项目中如…

Linux-搭建web服务器

综合练习&#xff1a;请给openlab搭建web网站 ​ 网站需求&#xff1a; ​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c;基于[www.…

javaWebssh车辆保养管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh车辆保养管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用 B/S模式开发。开发环境为TOMCAT7.…

湍流的数值模拟方法概述

湍流&#xff0c;又称紊流&#xff0c;是一种极其复杂、极不规则、极不稳定的三维流动。湍流场内充满着尺度大小不同的旋涡&#xff0c;大旋涡尺度可以与整个流畅区域相当&#xff0c;而小漩涡尺度往往只有流场尺度千分之一的数量级&#xff0c;最小尺度旋涡的尺度通过其耗散掉…

IO流详解

IO流 1. 文件 1.1 什么是文件 文件对大家来说都不陌生&#xff1a; 文件是保存数据的地方&#xff0c;它可以保存文字、图片、视频等等例如大家平时使用的word文档、Excel文档、PPT文档等都是文件 1.2 文件流 文件在程序中是以流的形式来操作的流是指数据在数据源&#x…

高通开发系列 - 音频驱动中的APR通道不能打开问题

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 问题概述问题现象问题分析问题解决问题概述 对msm8909平台进行内核升级,相应的其音频驱动也需要进行升级,使用了同平台的音频驱动作…

ZBX_NOTSUPPORTED: Unsupported item key.

问题 ZBX_NOTSUPPORTED: Unsupported item key. 详细问题 笔者安装zabbix后&#xff0c;自定义item key进行测试。需在zabbix-server 端 切换目录&#xff1a; cd /usr/local/zabbix/bin 执行查询命令&#xff1a; ./zabbix_get -s 192.168.174.136 -p 10050 -k “home.file…
最新文章