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

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

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();  //创建文件夹
		}
	}

}

你可能感兴趣的:(Java0基础学习笔记,java,开发语言)