20File

file 代表文件夹或者目录的类

 不管是文件还是目录都是使用File来操作的,File能新建、删除和重命名文件和目录,

File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流

 

    public static void main(String[] args) {
        //创建文件类对象
        File file=new File("D:\\a\\b\\c");
        //返回目录或者文件的名称
        System.out.println(file.getName());//c
        //返回所在目录路径
        System.out.println(file.getParent());//D:\a\b
        //返回所在位置的路径以及名称
        System.out.println(file.getPath()); //D:\a\b\c
    }

 

    public static void main(String[] args) {
        //创建File类对象
        //再创建对象的过程种不回去检测真实的路径
        //只是在根据给定的路径创建对象,并没有创建文件
        File file=new File("D:\\a.txt");
        File file2=new File("D:\\a\\b\\c");
        //创建文件--空文件
        try{
            boolean b= file.createNewFile();
        } 
        catch (java.io.IOException e)
        {
            System.out.println(e.getMessage());
        }
        //创建文件夹---目录
        //不仅可以创建目录还可以创建多级目录
        boolean b1=file.mkdir();
        boolean b2=file2.mkdirs();
        //可以删除文件(有无目录),可以删除目录(要是空目录)
        //直接删除---不会放在回收站中
        boolean b3=file.delete();
    }

用递归删除文件夹(里面有内容)

    public static void main(String[] args) {    
        //创建文件家对象
        File file=new File("D:\\a");
    
         delect(file);

    }


    public static void delect(File file)
    {
        if(file.isDirectory())
        {
            //获取当前目录下的所有文件以及文件夹信息
            File[]fs=file.listFiles();
            for(File f:fs)        
            {  //判断是否是文件夹
                delect(f);
            

            }
            
        }
        //删除文件---和空文件夹
        file.delete();

    }

 统计工作空间中有多少个.java和.class文件

 

public class FileText2 {
    //统计.class文件
    static int countClass;
    //统计.java文件
    static int countJava;
    public static void main(String[] args) {
        //创建文件类对象
        File file=new File("D:\\workspace");
        //调用方法进行统计
        countFile(file);
        //输出
        System.out.println(".java:"+countJava+",.class:"+countClass);
    }
    
    public static void countFile(File file){
        //判断是否是文件夹
        if(file.isDirectory()){
            //把当前文件夹信息获取出来
            File[] fs=file.listFiles();
            //遍历数组
            for (File f : fs) {
                //递归调用本方法
                countFile(f);
            }
        }else if(file.getName().endsWith(".class")){//文件
            countClass++;
        }else if(file.getName().endsWith(".java")){
            countJava++; 
        }
    }

}

 

    public static void main(String[] args) {
        //创建文件类对象
        File file=new File("D:\\2.txt");
        /*//返回的是从19701月1日到现在的毫秒值
        System.out.println(file.lastModified());
        //
        file.setLastModified(324912L);*/
        
        //输出D盘下名称含有数字的文件或者文件夹
        /*File[] fs=file.listFiles(new FileFilter() {
            //匹配规则
            @Override
            public boolean accept(File pathname) {
                // TODO Auto-generated method stub
                return pathname.getName().matches(".*\\d.*");
            }
        });*/
        //File[] fs=file.listFiles(str->str.getName().matches(".*\\d.*"));
        
        //
        /*File[] fs=file.listFiles(new FilenameFilter() {
            //匹配规则
            @Override
            public boolean accept(File dir, String name) {
                // TODO Auto-generated method stub
                return name.matches(".*\\d.*");
            }
        });*/
        /*File[] fs=file.listFiles((str,name)->name.matches(".*\\d.*"));
        //遍历数组
        for (File f : fs) {
            System.out.println(f);
        }*/
        
        
        //重命名---剪切(路径不一样)
        file.renameTo(new File("D:\\javase\\2.txt"));//文件存储的路径
        
        
    }

 

转载于:https://www.cnblogs.com/xuwangqi/p/11226587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值