File文件类

File 是文件或目录(文件夹)的抽象表现形式,可以使用File来封装一个文件

构造方法

File(File parent,String child)
    
File(String parent,String child)
    
File(String pathname);
File f = new File(文件/文件夹路径);

绝对路径:带有盘符号的详细路径

相对路径:不带盘符号的路径
./当前路径    ../当前路径上一级路径   ../../当前路径上两级路径

File(String parent,String child)
File f = new File(父路径,子路径/文件名加后缀);

File(File parent,String child);//父路径是File文件形式
File f1 = new File(父路径);
File f2 = new File(f1,子路径);

与创建相关的方法

File f = new File("a.txt");//先封装好
//创建一个文件  返回值代表文件是否创建成功  重复创建该文件 返回false
boolean b = f.creatNewFile();

//创建目录  重复创建返回false  E盘下创建test文件夹
File f1 = new File("E:\\test");
boolean b = f1.mkdir();

//创建多级目录  E盘下创建demo 其下再创建haha 再其下创建hehe
File a = new File("E:\\demo\\haha\\hehe");
boolean b = f1.mkdirs();

//删除文件或目录(只能删除空目录)  注意 不走回收站  返回值代表文件是否删除成功
File f = new File("a.txt");
boolean b = f.delete();
File f = new File("E:\\test");
boolean b = f.delete();

//删除非空目录  采用上面方法的递归方法


//重命名  当你源文件和传入的文件在同一目录下 方法结果就是重命名
File f = new File("a.txt");
File i = new File("b.txt");
boolean b = f.renameTo(i);  a.txt变为b.txt 


File l = new File("c.txt");//源文件与传入文件不在同一路径 方法结果就是剪切及重命名
File e = new File("E:/d.txt");
boolean l = f.renameTo(e);


判断功能

File f = new File("b.txt");
File a = new File("test");
//判断是否为文件
boolean b = f.isFile();
//判断是否为文件夹
boolean c = a.isDirectory();
//判断文件或目录是否存在
boolean b = f.exists();

//判断是否为可读可写
boolean b = f.canRead();
boolean b = f.canWrite();

//判断文件是否隐藏
boolean b = f.isHidden();

//判断文件是否可执行  Liunx 系统下 判断文件是否可执行
boolean b = f.canExecute();

//判断文件是否为绝对路径
boolean b = f.isAbsolute();

获取方法

File f = new File("E:\\demo\\haha\\hehe");
String name = f.getName();//获取文件或文件目录的名称
long length = f.length();//获取文件长度 字节数

//获取绝对路径
String absolutePath = f.getAbsoluteFile();//返回字符串形式
File absolutePath = f.getAbsoluteFile();//返回File形式,更加灵活

//获取相对路径
File f = new File("a.txt");
String path = f.getPath();

//获取文件的父路径
String p = f.getParent();
File pf = f.getParentFile();

//获取盘符的总空间大小
File f = new File("D:/");
long ts = f.getTotalSpace();//单位是字节
//获取剩余空间
long fs = f.getFreeSpace();

//获取文件的修改时间
long lt = f.lastModified();//毫秒
//把毫秒值转为年月日时分秒
Date d = new Date(lt);




//获取该目录下所有文件或文件夹的名称
public String[] list();
String[] sl = f.list();
//获取目录下所有文件或文件夹的File形式数组
File[] fl = f.listFiles();
该方法的重载方法可以传入一个过滤器   //根据结果决定放进数组还是不放入
File[] fl = f.listFiles(new FilenameFilter()){
    @Override
            public boolean accept(File dir, String name) {//dir 是父路径,name是子文件
                File fil = new File(dir,name);
                if(fil.isFile()&&fil.getName().endWith(".jpg")){//判断是否为.jpg结尾的文件
                    return true;//是则放进数组
                }else{
                    return false;
                }
                
            }

});






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值