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