File类和异常

File:是文件和路径名抽象表示,只关注文件基本信息,与读写内容操作无关
注意:在eclipse的工作环境下可以不用给出全部路径,不在工作环境下必须给出全部路径 ,不然识别不了
File常用的方法调用

File file = new File("a.txt")//实例化指定路径下的对象
System.out.println("绝对路径"+file.getAbsolutePath);
System.out.println("可继续操作的绝对路径"+file.getAbsolutePathFile());
System.out.println("相对路径"+file.getPath());
System.out.println("获取文件名"+file.getName());
System.out.println("获取父路径"+file.getParent());
System.out.println("是否可写"+file.canWrite());
System.out.println("是否隐藏"+file.isHidden());
System.out.println("获取长度"+file.length());
System.out.println("是否为文件"+file.isFile());
System.out.println("是否为目录"+file.isDirectory());
System.out.println("最后修改的时间"+file.lastModified());
//最输出的时间是long  改成我们更方便读的时间
Date date =new Date(file.lastModified());
SimpleDateFormat asd = new SimpleDateFormat(yyyy:MM:dd HH:mm:ss);
System.out.println(asd.format(date));
//第二种方式修改时间
SimpleDateFormat asd = new SimpleDateFormat(yyyy:MM:dd HH:mm:ss);
System.out.println(adf.format(file.lastModified()));

给出的文件名没有或者其父类没有时(也可能你写错了导致文件没有,目录也没有)
我们直接给出判断没目录补目录,没文件创建文件(我直接上代码了)

File file = new File(e\\w\\f\\a.text);//例如我们传了什么都没有的路径
File parent = file.getAbsoluteFile().getParentFile();
System.out.println(parent);//现在打印只显示你编译环境的目录
if(!parent.exists()){             //判断目录是否存在
	if(parent.mkdirs()){//只有一个目录不存在时用mkdir
		System.out.println("创建成功");
}
	}
	if(!file.exists()){
		if(file.createNewFile()){
		System.out.println("创建文件成功");	
}
}

如果你想获取一个目录下自己所需要的文件,该怎么做?来让我们看一下

File file = new File("a");
File[] fs = file.listFiles();//获取当前目录的所有文件
for(File f:fs){
		if(f.getName().endsWith("txt”)&&f.isfile()){
			System.out.println(f);
	}
}

如果我们要获取一个目录包含的所有相同后缀文件呢?

package com.cn.b_digui;
import java.io.File;
public class FileTest1 {
	public static void main(String[] args) {
		f(new File("a"));	
	}
public static void f(File file){
	File[] fs =file.listFiles();
	for(Flie a:fs){
		if(a.getName().endsWith("txt")&&a.isfile()){
			System.out.println(a);
		}else if (a.isDirectory()){
			f(a);
		}
	}
}

异常
异常分类:1.错误(Error):没办法补救 例如:死递归 死循环
2.异常(Exception):可以补救 分两类1.编译时异常(受检异常)2.运行时异常(非受检异常)
处理编译时异常:1抛出异常:向上抛出,如果上级也不处理–弃之不顾一旦出现问题则崩溃
2.捕获异常:将异常代码捕获后,使后面的代码能正常执行
运行时异常:捕获异常就可以
应用场景
抛出:异常影响太大,则抛出。例如:安全问题,付款—测试中
捕获:影响不大,则捕获。例如:保存路径 录视频----项目中捕获

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值