File对象的基本功能

File类

 1.用来将文件或者文件夹封装成对象

 2.方便对文件与文件夹的属性信息进行操作。

 3.File对象可以作为参数传递给流的构造函数。

 4.了解File类中的常用方法。

File对象-构造函数&字段

    public class Io31_1 {
        public static void main(String[] args) {
            constructorDemo();
        }

        public static void constructorDemo(){
            //可以将一个已存在的,或者不存在的文件或者目录封装成file对象
            File f1=new File("c:\\a.txt");

        /*  File f2=new File("c:\\","a.txt");

            File f=new File("c:\\");
            File f3=new File(f,"a.txt");


            File f4=new File("c:"+File.separator+"abc"+File.separator+"a.txt");//separator使用当前系统的文件分割符。例如window下是\\    unix是/
            */
        }
}

File对象-常见功能-获取

    public class Io32_1 {
        public static void main(String[] args) {
            /*
             * File对象的常见方法。
             * 
             * 1.获取
             *      1.1:获取文件名称
             *      1.2:获取文件路径
             *      1.3:获取文件大小
             *      1.4:获取文件修改时间
             * 
             * */

            getDemo();
        }

        public static void getDemo(){
        File file=new File("E:\\io\\a.txt");
        //          File file=new File("a.txt");
            String name=file.getName();
            String path=file.getAbsolutePath();//绝对路径
            String path2=file.getPath();
            long len=file.length();
            long time=file.lastModified();

            System.out.println("name"+name);
            System.out.println("path"+path);
            System.out.println("path2"+path2);
            System.out.println("len"+len);
            System.out.println("time"+time);

            Date date=new Date(time);
            DateFormat dateFormat=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
            String str_time=dateFormat.format(date);
            System.out.println(str_time);
        }
}

File对象-常见功能-创建和删除

    public class Io33_1 {
    public static void main(String[] args) {

    }

    public static void createAndDeleter() throws IOException{

        //文件的创建和删除
    //  File file=new File("file.txt");
        /*
         * 和输出流不一样,如果文件不存在,则创建,如果文本存在,则不创建
         * */
//      
//      boolean b=file.createNewFile();
//      System.out.println("b="+b);

//      boolean b=file.delete();


/**/        File dir=new File("abc");//创建单级目录
        boolean b=dir.mkdir();//make directory
        System.out.println(dir.delete());

    //  File dir=new File("anc\\q\\e\\c\\z\\w\\w\\d\\s");//创建多级目录

    //  dir.mkdirs();
    //  dir.delete();//删除最里面的那个文件夹

    }
}

File对象-常见功能-判断

public class Io34_1 {
    public static void main(String[] args) {

         isDemo();
    }

    public static void isDemo(){

        File f=new File("E:\\io");
    boolean b=f.exists();
        System.out.println("b="+b);

        //最好先判断是否存在
        System.out.println(f.isFile());
        System.out.println(f.isDirectory());
    }
}

File对象-常见功能-重命名

    public class Io35_1 {
    public static void main(String[] args) {

        renameToDemo();
    }

    public static void renameToDemo(){
        File f1=new File("c:\\0.mp3");

        File f2=new File("c:\\9.mp3");

        boolean b=f1.renameTo(f2);  //把f1的0.mp3名称改为9.MP3
        System.out.println("b="+b);

    /*  File f1=new File("c:\\0.mp3");

        File f2=new File("d:\\aa.mp3");

        boolean b=f1.renameTo(f2);//把0.map剪切到D盘中,并且把名字重命名为aa.mp3
        System.out.println("b="+b);*/

    }
}

File对象-常见功能-系统根目录和容量获取

    public class Io36_1 {
    public static void main(String[] args) {
        listRootsDemo();
    }

    public static void listRootsDemo(){
/*      File file=new File("d:\\");
        System.out.println(file.getFreeSpace());
        System.out.println(file.getTotalSpace());
        System.out.println(file.getUsableSpace());*/

        File[]  files=File.listRoots();
        for(File file:files){
            System.out.println(file);
        }
        }
}

File对象-常见功能-获取目录内容

public class Io37_1 {
public static void main(String[] args) {
    listDemo();
}

    public static void listDemo(){
        /**
         * 获取当前目录下的文件以及文件夹的名称。
         * 包含隐藏文件。
         * 
         * 调用list方法的File对象中封装的必须是目录。
         * 否则会空指针
         * 
         * 如果访问系统级目录页会发生空指针(是指操作系统的主要文件存放的目录。因为权限)
         * 
         * 如果目录存在但是没有内容。会返回一个数组。但是长度为0;
         * 
         * 
         * */
        File file=new File("E:\\io");
        String[] names=file.list();
        System.out.println(names.length);
        for(String name : names){
            System.out.println(name);
        }
    }
}

File对象-常见功能-过滤器

    public class Io38_1 {
    public static void main(String[] args) {
        listDemo_3();
    }


    /**
     * 获取整个盘下面的文件。然后根据条件过滤
     * */
    public static void listDemo2() {
        File dir = new File("c:\\");

        String[] names = dir.list(new FileByJava());
        //list方法拿取的是文件的名称。
        for (String name : names) {
            System.out.println(name);
        }

    }


    /**
     * 返回文件类型数组,然后判断是否是隐藏文件
     * */
    public static void listDemo_3(){
        File dir=new File("c:\\");
        File[] files=dir.listFiles(new FileByHidden());
        //listFiles()拿取文件对象。
        for(File file:files){
            System.out.println(file);
        }
    }
}







public class FileByJava implements FilenameFilter {//这个是文件名称过滤


    /**
     * 获取后缀名为.dtd的文件。
     * */
    @Override
    public boolean accept(File dir, String name) {
        System.out.println(dir+name);
        return name.endsWith(".dtd");
    }

}




public class FileByHidden implements FileFilter {//这个是文件过滤
//判断是否是隐藏文件
    @Override
    public boolean accept(File pathname) {

        return !pathname.isHidden();
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值