文件和异常


 

try  catch   // 后续代码需要执行就用trycatch

           //后续代码不需要执行就用throw

 

System.exit(0)//退出java虚拟机

 

.异常

         (1)就是程序运行过程中,遇到了问题,这就叫异常。

         (2)异常的体系

                   Throwable其实应该分三种

                            Error

                                    通常出现重大问题如:服务器宕机数据库崩溃等。

                                                           不编写针对代码对其处理。

                            Exception

                                    除了RuntimeException和其所有子类,其他所有的异常类都是在编译的时候必须要处理的

                                    要么try,要么抛

                            RuntimeException

                                     RuntimeException和其所有的子类,都不会在编译的时候报异常,而是在运行时报异常,这时候我们

                                    就需要回头看看我们的代码是否有问题,比如角标越界,空指针等

                   并发操作异常。

                  

         (3)ThrowableRunnable

                   AgetMessage():返回此 throwable的详细消息字符串。

                 

class Throwable {
			String detailMessage;
			Throwable(){}

			Throwable(String message) {
				this.detailMessage = message;
			}

			public String getMessage() {
				return detailMessage;
			}
		}


                   BtoString():获取异常类名和异常信息,返回字符串。重写了objecttostring

                   CprintStackTrace():获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void

         (4)处理异常处理方式:

                   Atry...catch...finally

                   格式:

                            try{

                                    需要检测的代码;

                            }

                            catch(异常类 变量) {

                                    异常处理代码;

                            }

                            ...

                            finally{

                                    一定会执行的代码;

                                              关流释放资源

                            }

                   可以有下面三种搭配形式:

                            **try...catch(...)

                            **try...finally

                            **try...catch(...)...finally

 

                   B:抛出 throwsthrow

                   throws:用于标识函数暴露出的异常。thorws用在函数上,后面跟异常类名(可以由多个,隔开)

 

                   throw:用于抛出异常对象。throw用在函数内,后面跟异常对象。new Exception();

 

                   C:到底用谁?

                            **你能处理,建议处理。try...catch...finally

                            **你处理不了,抛出。

                            **在实际开发中,是分层开发,底层代码是能抛出尽量抛出,用日志记录住异常信息,并提供解决方案

                   D:自定义异常

                            自定义类继承Exception或者其子类(RuntimeException)

 

		class MyException extends Exception{
				MyException(){}

				MyException(String message){
					super(message); //将信息传递给父类,调用父类封装好的构造方法
				}
			}

			class Student {
				public void giveAge(int age) throws MyException {
					if(age>40 || age<16) {
						//throw new MyExcetpion("建议不学了");
						MyExcepiont my = new MyExcetpion("建议不学了");
						throw my;
					}
					else {
						System.out.println("可以学习Java");
					}
				}
			}


                        

                   ERuntimeExceptionException

                            区别:RuntimeException就是要你改代码的。你可以不处理。

 

.File

         1.什么是File

                   File类对象可以代表一个路径,此路径可以是文件也可以是文件夹,该类方法可以对这个路径进行各种操作

         2.创建对象

                   File类构造函数传一个String类型的路径就可以创建对象

                   路径分为两种:绝对路径,相对路径

                            绝对路径: 从盘符开始,是一个固定的路径

                            相对路径: 不从盘符开始,相对于某个位置.Eclipse中的Java工程如果使用相对路径,那么就相对于工程根目录.cmd则相对应于当前目录.

         3.常用方法

                   booleanexists()                //判断是否存在

                   booleanisAbsolute();       //是否是绝对路径

                   booleanisDirectory();      //是否是文件夹

                   booleanisFile();                 //是否是文件

                   booleanisHidden();          //是否是隐藏

                  

                   getAbsolutePath();           //获取绝对路径

                   getFreeSpace();                 //     获取当前盘符剩余空间

                   getTotalSpace();                //获取当前盘符总空间

                   getUsableSpace();            //获取当前盘符可用空间

                   getParent());                      //获取父级路径

                   getName());                        //     获取文件名

 

                   setReadable(false);          //设置是否可读

                   setWritable(false);           //设置是否可写

                   setExecutable(false);       //设置是否可执行

                   canRead();                          //     是否可读

                   canWrite();                         //     是否可写

                   canExecute();                     //是否可执行

                  

                   setLastModified();            //设置文件的最后修改时间

                   lastModified();                            //获取文件的最后修改时间

                  

                   createNewFile()                 //     创建文件

                   mkdir();                                //创建文件夹(仅一级)

                   mkdirs();                              //创建文件夹(父级不存在也创建)

                  

                   renameTo();                                 //改名,可以移动文件

                   delete()                                //删除,文件可以直接删除,文件夹只能删空的

                   length()                                //文件大小

        

                   String[]list()

                   File[]listFiles() 

1

File  parent = new File ("D:\\workpace0710\\day20");
String child = "day20笔记.txt";
File file1 = new File(parent,child);
System.out.println(file1.exists());

 

2

String parent = "D:\\workspace0710\\day20";
String child = "day20笔记.txt";
File file1 = new File(parent,child);
System.out.println(file1.exists());


 

3

File file1 = new File("D:\\workspace0710\\day20\\ day20笔记.txt ");
File file2= new File("day20笔记.txt ");


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值