1. 异常

   (1)异常的概述

     异常就是Java程序在运行过程中出现的错误。

   (2)分类

     Throwable 类是 Java 语言中所有错误或异常的超类。
       异常的 Exception和Error都是Throwable的直接子类;Exception 又可以分为运行期异常和编译期异常。

   (3)异常的处理方式:

     ● 声明异常throws

//声明异常的格式:
修饰符 返回值类型 方法名 (参数) throws 异常类名1,异常类名2...{ }

代码演示:

public class Demo {public static void main(String[] args) throws Exception {show(-1);}public static void show(int i) throws Exception {if (i < 0){throw new Exception("输入的数小于0");}else{System.out.println(i);}}
}


     ● 捕获异常 try…catch…finally

//捕获异常的格式
//如果异常名出现了子父关系,必须要把父类异常类名放在最后面。
try{//可能出现异常的代码......
}catch(异常类名1 变量){//处理异常的语句......
}catch(异常类名2 变量){//处理异常的语句......
}
catch(异常类名... 变量){//处理异常的语句......
}finally{//一定会被执行的语句......
}

代码演示:

public class Demo1 {public static void main(String[] args) {try {System.out.println(1/0);}catch (Exception ex){System.out.println("除数为0");}finally {System.out.println("一定会被执行的语句");}}
}

   (4)Throwable中的常用方法

1、getMessage():          获取异常信息,返回字符串。
2、toString():               获取异常类名和异常信息,返回字符串。
3、printStackTrace():        获取异常类名和异常信息,以及异常出现在程序中的位置。
public class Demo2 {public static void main(String[] args) {int[] arr = new int[10];try {for (int i = 0; i < arr.length; i++) {arr[i+1] = i;}} catch (ArrayIndexOutOfBoundsException e) {String message = e.getMessage();System.out.println(message);String string = e.toString();System.out.println(string);e.printStackTrace();}finally {System.out.println("一定执行的语句");}}
}

   (5)处理异常的原则

    ● 如果该方法内部能解决该异常,就使用try catch ,如果处理不了,就使用throws抛给调用者处理。如果后续程序需要继续执行就使用try catch,后续程序不需要执行就使用throws。

2. File 文件类

   (1)概述

     File类就是File文件和目录路径名的抽象表述形式,即Java把文件或者目录文件夹都封装成 File 对象。

   (2)File 类的构造方法

1、File(String pathname): 根据一个路径得到一个File对象
2、File(String parent,String child): 根据一个父目录和子文件或子目录得到File对象。
3、File(File parent,String child): 根据一个父File对象和子文件或子目录得到一个File对象。

   (3)File 类的创建功能

1、public boolean creatNewFile(): 创建一个新的文件,若这个文件已经存在,就不会再创建。
2、public boolean mkdir(): 创建文件夹,若存在,就不会再创建(这个方法只能创建单层目录)。
3、public boolean mkdirs(): 创建文件夹,若父类文件目录不存在,就自动帮你创建出来,可以创建多层目录。

   (4)File 类的删除功能

public boolean delete():删除文件或文件夹。

   (5)File 类的重命名

public boolean renameTo(File dest): 把文件重命名为指定的文件路径。

   (6)File 类的判断功能

1、public boolean isDirectory(): 判断是否是目录
2、public boolean isFile():  判断是否是文件
3、public boolean exists():  判断是否存在
4、public boolean canRead(): 判断是否可读
5、public boolean canWrite(): 判断是否可写
6、public boolean isHidden(): 判断是否隐藏

   (7)File 类的获取功能

1、public String getAbsolutePath(): 获取绝对路径。
2、public String getPath(): 获取相对路径。
3、public String getParent(): 返回此抽象路径名父目录的路径名字符串,如果此路径没有指定的父目录,就返回null。
4、public File getParentFile(): 返回此抽象路径名父目录的抽象路径名,如果此路径没有指定的父目录,就返回null。
5、public long getTotalSpace(): 返回此抽象路径名指定的分区大小,返回总容量,单位字节。
6、public long getFreeSpace(): 返回此抽象路径名指定的分区中未分配的字节数。返回剩余容量,单位字节。
7、public String getName(): 获取此文件路径的文件的名称。
8、public long length(): 获取此路径的文件的长度(字节数)。
9、public String[] list(): 获取指定目录下的所有文件或者文件夹的名称数组。
10、public File[] listFiles(): 获取指定目录下的所有文件或者文件夹的File数组。

文件类的案例:

(1)删除多级文件夹

import java.io.File;public class FileDemo {//1.删除多级文件夹 递归删除public static void main(String[] args) {File file = new File("F:\\Program Files");deleteFolders(file);}private static void deleteFolders(File file) {File[] files = file.listFiles();for (File file1 : files) {if (file1.isFile()){file1.delete();}else{deleteFolders(file1);}file1.delete();}file.delete();}
}

(2)判断多级目录下是有以 .jpg的文件,如果有,把后缀名改成.png 递归修改

import java.io.File;public class FileDemo2 {//3.判断多级目录下是有以 .jpg的文件,如果有,把后缀名改成.png 递归修改public static void main(String[] args) {File file = new File("F:\\aabb");folderrename(file);}private static void folderrename(File file) {File[] files = file.listFiles();for (File file1 : files) {if (file1.isFile()){String name = file1.getName();if (file1.isFile() && name.endsWith(".jpg")){String substring = name.substring(0,name.indexOf(".")+1);String newName = substring.concat("png");File file2 = new File(file, newName);file1.renameTo(file2);}}else{folderrename(file1);}}}
}

JavaSE基础——异常、File文件类相关推荐

  1. Java基础(二):集合、IO流(Zip压缩输入/输出流等)、File文件类、反射、枚举

    Java基础(一):编译和解释.数据类型.变量作用域.String常用方法.数组.面向对象.异常 Java基础(二):集合.IO流(Zip压缩输入/输出流等).File文件类.反射.枚举 Java异常 ...

  2. java基础5:工厂模式、单例模式、File文件类、递归、IO流、Properties配置文件、网络编程、利用IO流模拟注册登录功能、关于反射、JDK动态代理

    1.工厂模式 23种java设计模式之一 1)提供抽象类(基类) 2)提供一些子类,完成方法重写 3)提供一个接口:完成具体子类的实例化对象的创建,不能直接new子类,构造函数私有化. 优点:具体的子 ...

  3. IO概述、异常、File文件类_DAY19

    IO概述: 操作数据的工具 IO流,即数据流,数据像水流一样通过IO工具进行传输. 程序  <IO>   硬盘 绝对路径与相对路径 1:异常(理解) (1)就是程序的非正常情况. 异常相关 ...

  4. JAVA之IO流、异常、File文件类

    1 IO流 1.1IO流概述及其前奏 1.1.1IO流概述 IO流用来处理设备之间的数据传输,上传文件和下载文件 . 1.1.2IO流前奏 了解Io流前必须先了解异常和File类,因为File表示的是 ...

  5. JavaSE基础(116) File如何删除文件和文件夹方法

     boolean delete()           删除此抽象路径名表示的文件或目录. 删除文件:存在文件则直接删除返回true,如果不存在返回false 删除目录:    ①:为空:直接删除   ...

  6. Java中File文件类之文件过滤器

    文件过滤器 文件过滤器是个接口 过滤器一:File[] listFiles(FileFilter filter) public static void fun1() {// 测试过滤器(FileFil ...

  7. JavaSE基础知识之常用类和集合

    常用类 Object类 protected Object clone() throws CloneNotSupportedException 克隆方法:创建并返回此对象的一个副本 Object 类的 ...

  8. 【JavaSE基础】03-常用类API(一)

    这一章节我们将会解释到为什么一维 int 类型数组名直接打印的是[I@659e0bfd,二维 int 类型数组名直接打印的又是[[I@659e0bfd,而类名打印出来又会是什么呢?又代表的是什么意思呢 ...

  9. android 的各种文件类

    File 文件类 使用户可以忽略不同操作系统带来的影响 可以抽象文件的路径方式 ------------------------------------------------------------ ...

  10. 菜鸟学习笔记:Java基础篇7(包装类、时间相关类、文件类、异常处理类)

    菜鸟学习笔记:Java其他常用类 基本数据类型包装类 时间处理和文件处理相关类 Date时间类 SimpleDateFormat Calendar日历类 文件类 异常机制 异常的概念 Java异常处理 ...

最新文章

  1. 使用putty上传文件
  2. 冒泡排序(Bubble_Sort)
  3. spring核心之AOP学习总结二
  4. 山西上党残疾男子“只”手脱贫 带领村民增收
  5. idea高效找出全部未被使用的代码
  6. easyui combobox 左匹配模糊查询
  7. matlab中Cci,【指标量化】超买超卖——CCI 顺势指标
  8. Linux常用命令集
  9. POJ3254 Corn Fields(状态压缩DP)
  10. 数学基础加强1---机器学习与数学分析
  11. Mac上设置图片或视频的默认打开软件的方法
  12. nyoj20吝啬得过度(DFS)
  13. Windows系统安装jdk1.6
  14. s饥荒服务器物品id,流年饥荒控制台指令大全+物品大全+服务器管理命令大全.docx...
  15. solr7.4.0入门,分词,实时增量同步
  16. 传感器课程实验:传感器静态特性研究-应变式传感器
  17. python之网络部分
  18. 分类:支持向量机(四)——非线性支持向量机
  19. VS code下开发单片机或者STM32程序
  20. MGN(多粒度网络)模型训练的详细步骤

热门文章

  1. Java中的异常处理与抛出
  2. Dijkstra 路径规划 C#
  3. 《第一行代码》学习笔记12-UI(1)
  4. mysql中文坑爹的东西
  5. 网站日志统计案例分析与实现
  6. sql server 2000:不能打开到主机的连接,在端口1433:连接失败
  7. line search中的重要定理 - 梯度与方向的点积为零
  8. 拓端tecdat|R语言DTW(Dynamic Time Warping) 动态时间规整算法分析序列数据和可视化
  9. 拓端tecdat|python算法对音频信号处理Sonification :Gauss-Seidel迭代算法
  10. oracle 变长数组,oracle:变长数组varray,嵌套表,集合