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.捕获异常:将异常代码捕获后,使后面的代码能正常执行
运行时异常:捕获异常就可以
应用场景
抛出:异常影响太大,则抛出。例如:安全问题,付款—测试中
捕获:影响不大,则捕获。例如:保存路径 录视频----项目中捕获