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
- JavaSE(13)(异常和文件类)
- Java 异常和文件
- 异常和文件
- 异常和文件操作
- (完)learn python第四章:异常处理机制和文件(第一节:异常处理机制)
- Java——第六章(异常处理和文件IO流操作)
- Java——第六章(异常处理和文件IO流操作)—项目案例
- 用户和文件权限管理(一)
- linux进程和文件操作 (基础)
- 目录和文件管理(一)
- 目录和文件管理(二)
- 流和文件(文件的保存)
- Springmvc国际化和文件上传(八)
- JavaSE:异常总结(Exceptiong)
- JAVASE学习(12)异常
- JAVASE基础-day19(异常)
- JavaSE复习之十 高级特性:IO流和文件
- 第六章 异常和文件处理
- linux命令
- 瀑布流布局
- T检验和F检验的由来
- linux中probe函数传递参数的寻找(下)
- Chromium Weekly 3
- JavaSE(13)(异常和文件类)
- 【discuz免费插件】众大智能云采集5.0版
- Jmeter
- linux驱动框架--hwmon学习
- UNIX网络编程练习-获取客户端IP和端口
- java csv 逗号 excel 乱码
- hibernate持久化实现——实体对象生命周期
- net protocol
- Java集合-Collection整体框架