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

news2024/10/6 6:02:43

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.coloradmin.cn/o/570215.html

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

相关文章

注意力机制(一)SE模块(Squeeze-and-Excitation Networks)

Squeeze-and-Excitation Networks&#xff08;压缩和激励网络&#xff09; 论文地址&#xff1a;Squeeze-and-Excitation Networks 论文中文版&#xff1a;Squeeze-and-Excitation Networks_中文版 代码地址&#xff1a;GitHub - hujie-frank/SENet: Squeeze-and-Excitation Ne…

chatgpt赋能python:Python内置:优化SEO的利器?

Python 内置&#xff1a;优化SEO的利器&#xff1f; Python是一种广泛使用的高级编程语言&#xff0c;拥有丰富的标准库和第三方库&#xff0c;能够适用于很多领域。其中&#xff0c;Python内置的一些功能&#xff0c;比如字符串操作和网络请求&#xff0c;可以帮助我们进行SE…

web前端综合案例——小兔鲜首页(html+css)

前言&#xff1a;我这里只使用了html和css&#xff0c;js没有使用 项目源代码&#xff1a;https://pan.baidu.com/s/1alnekYEu5F9XwHTW7dO5RA?pwdqjhd 页面效果&#xff1a; 项目准备阶段&#xff1a; 1.准备项目相应的图片素材&#xff0c;设计稿。 2.创建项目: 2.1 项目…

用反射设计通用的实例化对象方案

需求 对象的相关信息存储在javabean.properties文件中&#xff0c;通过读取properties文件中的信息&#xff0c;实例化对象&#xff0c;要求程序不能硬编码&#xff0c;即程序可以通用&#xff0c;针对不同的对象&#xff0c;都可以实例化。仅需修改配置文件&#xff0c;不需要…

网络基础初识

目录 网络发展 时代背景 计算机内部 协议 协议的创立 什么是协议&#xff1f; 网络协议 OSI七层模型 TCP/IP五层(或四层)模型 硬件方面 -- 补充 路由器 协议的分层 网络传输基本流程 1.协议报头 2.局域网 查询自己的MAC地址 局域网通信的原理 跨路由器传递数…

以太网协议详解

文章目录 前言一、MAC地址二、以太网协议1. 以太网数据格式2. MAC地址表 前言 假设有这样一张网络拓扑图&#xff1a; 在拓扑图中有A、B、C三台计算机&#xff0c;并且它们三个是通过中间的路由器连接的。这时候计算机A要向计算机C发送一条数据&#xff0c;那么数据是怎么样到…

nvm教程

介绍 这个东西&#xff0c;是nodejs官网有个链接里面有很多列表&#xff0c;这是其中一个 下载 https://github.com/coreybutler/nvm-windows/releases 安装 安装前&#xff0c;将.npmrc文件删除&#xff1b;文件位置&#xff1a; C:\Users{User}\AppData\Roaming\npm C:\…

chatgpt赋能python:Python单行for:如何简化你的代码

Python单行for&#xff1a;如何简化你的代码 在Python编程中&#xff0c;for循环是必不可少的一部分&#xff0c;它可以用于遍历列表、元组和字典等各种数据类型。而Python单行for则是一种更加简单、更加紧凑的语法形式&#xff0c;可以让你更加高效地遍历和处理数据。 什么是…

STL--mapset(手撕AVL树,红黑树)

1. 关联式容器 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比如&#xff1a;vector、list、deque、 forward_list(C11)等&#xff0c;这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面 存储的是元素本身。那什么是关…

Yolov5涨点神器:注意力机制---多头上下文集成(Context Aggregation)的广义构建模块,助力小目标检测,暴力涨点

1.数据集性能验证 在crack道路缺陷检测任务中,多头上下文集成(Context Aggregation)的广义构建模块实现暴力涨点mAP50从0.954提升至0.992 🏆🏆🏆🏆🏆🏆Yolov5/Yolov7魔术师🏆🏆🏆🏆🏆🏆 ✨✨✨魔改网络、复现前沿论文,组合优化创新 🚀🚀🚀…

内网渗透(八十三)之安装ADCS证书服务

安装ADCS证书服务 本编文章,我们来讲解安装ADCS证书服务,这里注意一下,因为证书服务特性(不能更改计算机名称、网络参数),因此在部署证书服务器时建议独立部署,ADCS证书服务不能和域控是同一台服务器,这里我用的一台加入域的Server2016搭建 1、以 Enterprise Admins …

chatgpt赋能python:Python内置变量的重要性及常用变量介绍

Python内置变量的重要性及常用变量介绍 Python是一种简单易学的脚本语言&#xff0c;其特点是直观、易读、代码简单且易维护。Python内置变量是开发人员在Python编程中必不可少的一部分&#xff0c;它们在程序中扮演着重要的角色。接下来我们来介绍一些常用的Python内置变量。…

chatgpt赋能python:Python的内部类:优雅的封装性与灵活的应用

Python的内部类&#xff1a;优雅的封装性与灵活的应用 Python的内部类是面向对象编程中强大的封装性工具&#xff0c;它在类的内部定义其他类来辅助实现某些功能&#xff0c;可以有效避免类命名冲突、提高代码灵活性等。本文将详细介绍Python内部类的特点及应用场景&#xff0…

chatgpt赋能python:Python单行判断:提高代码效率的利器

Python单行判断&#xff1a;提高代码效率的利器 在Python编程中&#xff0c;单行判断是常用的一种技巧。相比使用if语句&#xff0c;单行判断可以让代码更加简洁、优美&#xff0c;提高代码的效率和可读性。本文将介绍Python单行判断的用法及其优势&#xff0c;帮助读者更好地…

【2023年第三届长三角高校数学建模竞赛】A 题 快递包裹装箱优化问题 20页完整论文及代码

相关链接 【2023年第三届长三角高校数学建模竞赛】A 题 快递包裹装箱优化问题 详细数学建模过程 1 题目 2022 年&#xff0c;中国一年的包裹已经超过 1000 亿件&#xff0c;占据了全球快递事务量的一半以上。近几年&#xff0c;中国每年新增包裹数量相当于美国整个国家一年的…

基于SpringBoot的留守儿童爱心网站的设计与实现

背景 随着留守儿童爱心管理的不断发展&#xff0c;留守儿童爱心网站在现实生活中的使用和普及&#xff0c;留守儿童爱心管理成为近年内出现的一个热门话题&#xff0c;并且能够成为大众广为认可和接受的行为和选择。设计留守儿童爱心网站的目的就是借助计算机让复杂的管理操作…

如何从Ubuntu Linux中删除Firefox Snap?

Ubuntu Linux是一款广受欢迎的开源操作系统&#xff0c;拥有强大的功能和广泛的应用程序选择。默认情况下&#xff0c;Ubuntu提供了一种称为Snap的软件打包格式&#xff0c;用于安装和管理应用程序。Firefox是一款流行的开源网络浏览器&#xff0c;而Firefox Snap是Firefox的Sn…

<Linux开发>驱动开发 -之-基于pinctrl/gpio子系统的LED驱动

&#xff1c;Linux开发&#xff1e;驱动开发 -之-基于pinctrl/gpio子系统的LED驱动 交叉编译环境搭建&#xff1a; &#xff1c;Linux开发&#xff1e; linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下&#xff1a; &#xff1c;Linux开发&#xff1e; -之-系统移植 u…

chatgpt赋能python:Python二维码解码-从介绍到结论

Python 二维码解码 - 从介绍到结论 二维码在现代数字化时代的应用越来越普及&#xff0c;它能够快速、准确地扫描并解码大量的信息。Python作为一种流行的通用编程语言&#xff0c;已经成为开发人员首选的工具之一&#xff0c;为我们解码二维码提供了强大的支持。本篇SEO文章将…

chatgpt赋能python:Python主模块:入门指南

Python主模块&#xff1a;入门指南 什么是Python主模块&#xff1f; Python主模块指的是一组基本模块&#xff0c;通常在Python程序中使用最为广泛的模块。这些模块包含了各种功能&#xff0c;如文件操作、系统库、数据类型、数学运算等。通过使用这些模块&#xff0c;Python…