JavaSE(13)(异常和文件类)

来源:互联网 发布:天津城建大学学校域名 编辑:程序博客网 时间:2024/06/06 12:33
异常类:package zz.itheima.exception_io;import java.util.Scanner;//异常类:public class ExceptionDemo {//  如果在catch块中有return语句,那么finally块还会执行吗?执行的顺序呢?    public static int textFinally(){        try {            int j = 10 / 0;  //new ArithmeticException();        } catch (Exception e) {            return 1;//这个return是为了跳出整个方法        }finally{            System.out.println("如果有return语句,看是否执行fanally块?");            return 0;//这个return 为为了return 方法的返回类型int        }    }    public static void main(String[] args) {        System.out.println(textFinally());//如果有return语句,看是否执行fanally块? 0,事实证明无论如何都要执行finally块。        //下标越界异常        int []  arr = {1,2,3};        try {            System.out.println(arr[1]);        } catch (Exception e) {            System.out.println("如果没有异常看看这句话是否输出了?");//事实证明如果没有异常,就不输出了。只有存在异常了才执行catch块中的代码。            e.printStackTrace();        }        // 第一种情况:try中没有产生异常  会跳过catch继续往下执行        // 第二种情况:try中产生了异常   接下来先执行catch,然后再往下执行        // 第三种情况:捕捉时类型跟抛出的异常对象的类型不一致  程序中断        //空指针异常//      String s = null;//      System.out.println(s.length());        //数学运算异常        Scanner sc = new Scanner(System.in);        try {            System.out.println("请输入第一个整数");            int n1 = sc.nextInt();            System.out.println("请输入第二个整数");            int n2 = sc.nextInt();            System.out.println(n1 / n2);        } catch (Exception e) {            e.printStackTrace();            System.out.println("必须输入数字!");//自定义异常提示信息        } finally{            //这里一般用来释放一些资源,比如IO和数据库            System.out.println("fnally code");        }    }}自定义异常:package zz.itheima.exception_io;public class SaxException extends Exception {    public SaxException(){        super("性别必须是男或者女!");    }}声明异常:package zz.itheima.exception_io;import java.util.InputMismatchException;import java.util.Scanner;public class TestThrows {    public static void testNull(String s)throws NullPointerException{        System.out.println(s.length());    }    public static void setSex()throws InputMismatchException,SaxException{        Scanner sc = new Scanner(System.in);        System.out.println("请输入性别:");        String sex = sc.nextLine();        if (!sex.equals("男")&&!sex.equals("女")) {            throw new SaxException();        }    }    public static void main(String[] args) {        try {            testNull(null);        } catch (Exception e) {            e.printStackTrace();        }        try {            setSex();        } catch (Exception e) {            e.printStackTrace();        }    }}文件:package zz.itheima.exception_io;import java.io.File;import java.text.DateFormat;import java.util.Calendar;import java.util.Date;public class TestFile {    public static void main(String[] args) {        //测试File类(文件)        System.out.println("得到系统当前的分隔符为:"+File.separator);        File f = new File("E:"+File.separator+"1.txt");//得到文件类对象        if (f.exists()) {//判断文件是否存在            System.out.println("存在");        }else {            try {                //创建新文件                f.createNewFile();            } catch (Exception e) {                e.printStackTrace();            }        }        //把毫秒值转换成日期格式        Calendar c = Calendar.getInstance();        c.setTimeInMillis(f.lastModified());//获取文件最后修改日期,文件最后修改日期是毫秒值        Date d = c.getTime();        DateFormat df = DateFormat.getDateTimeInstance();        System.out.println(df.format(d));        //重命名        f.renameTo(new File("E:\\2.text"));        //是否只读        System.out.println(f.canRead());        //文件内容长度        System.out.println(f.length());        //文件路径        System.out.println(f.getPath());        //是不是文件        System.out.println(f.isFile());        //删除文件        f.delete();    }}文件夹:package zz.itheima.exception_io;import java.io.File;public class TestDir {    public static void main(String[] args) {        //测试File类(文件夹或者目录)        File f = new File("E:\\aaa\\bbb");        if (f.exists()) {//文件夹是否存在            System.out.println("存在");        }else {            f.mkdirs();//创建多级目录        }        System.out.println(f.isDirectory());//是否是文件夹或者(目录)        System.out.println(f.getName());//获取文件夹名称        f.renameTo(new File("e:\\bbb\\ccc"));         File files = new File("E:\\360Downloads");        File[] temp = files.listFiles();//获取某文件夹下的所有文件(File对象)        for (int i = 0; i < temp.length; i++) {            System.out.println(temp[i].getName());        }        System.out.println("***********************");        String[] names = files.list();//获取某文件夹下的所有文件名称(String)        for (int i = 0; i < names.length; i++) {            System.out.println(names[i]);        }        File file = new File("E:\\ee");        file.delete();//只能删除空的文件夹    }}过滤器:package zz.itheima.exception_io;import java.io.File;import java.io.FilenameFilter;//字节码文件过滤器public class ClassFilter implements FilenameFilter{    @Override    public boolean accept(File dir, String name) {        if (dir.exists()&&dir.isDirectory()) {            if (name.endsWith(".class")) {                return true;            }else {                return false;            }        }else {            return false;        }    }}测试过滤器:package zz.itheima.exception_io;import java.io.File;public class TestClassFilter {    public static void main(String[] args) {        //测试classFilter过滤器        File file = new File("D:\\demo");        String [] names = file.list(new ClassFilter());        for (int i = 0; i < names.length; i++) {            System.out.println(names[i]);        }    }}例子一:package zz.itheima.exception_io;import java.io.File;public class Demo1 {    public static void main(String[] args) {        //在你电脑硬盘的某个地方新建一个文本文件(随意命名),然后输出该文件的路径,然后把名字改为java.txt,然后删掉该文件        File f = new File("E:"+File.separator+"hello.txt");        try {            if (f.exists()==false) {                //如果不存在就创建新文件                f.createNewFile();            }        } catch (Exception e) {            e.printStackTrace();        }        System.out.println(f.getPath());        f.renameTo(new File("E:"+File.separator+"java.txt"));        System.out.println(f.getPath());//      判断你电脑硬盘上某个文件是否存在,是否只读,并输出文件大小        File f1=new File("e:"+File.separator+"1.txt");        if(f1.exists())        {            if(f1.canWrite()==false)                System.out.println("只读");            else                System.out.println("可写");            System.out.println(f1.length());        }        else {            System.out.println("不存在");        }    }}例子二:package zz.itheima.exception_io;import java.io.File;public class Demo2 {    public static void main(String[] args) {//      在你电脑的E盘创建一个名为java的文件夹        File file = new File("E:\\java");        if (file.exists()==false) {            file.mkdir();        }//      输出你电脑上某个文件夹的名字,并输出该文件夹下所有文件的名字        File ppts=new File("e:\\ppts");        File[] temp=ppts.listFiles();        for (File file1 : temp) {            System.out.println(file1);        }        String[] str=ppts.list();        for (String string : str) {            System.out.println(string);        }    }}
0 0
原创粉丝点击