File类详解

File类详解

 ONE Goal ,ONE Passion !

File类是我们接触的比较多的类,当初学习是真是傻傻分不清啊.今天就总结一下file的一些比较不好区分的地方.

首先:当然就是构造方法

File f = new File("文件路径")
File f = new File("parent","child")
1,创建一个文件
 //在工作空间目录下创建a.txt的文件
     File f = new File("a.txt"); 
     f.createNewFile(); 

     在G:\路径下创建一个a.txt的文件.如果已经有的话这不会重新创建
     File f = new File("G:\\a.txt"); 
     f.createNewFile();

    如果路径写成\\a.txt,会在盘符下创建新的文件
     File f = new File("\\a.txt"); 
     f.createNewFile();
2,创建一个文件夹
 //在工作空间目录下创建a.txt的文件夹
     File f = new File("a"); 
     f.mkdir(); 

     在G:\路径下创建一个a.txt的文件夹.如果已经有的话这不会重新创建
     File f = new File("G:\\a"); 
     f.mkdir();

     如果路径写成\\a.txt,会在盘符下创建新的文件夹
     File f = new File("\\a"); 
     f.mkdir();

     在g盘下创建文件夹a,a 下创建一个b文件夹
     File f = new File("G:\\a\\b"); 
     f.mkdirs();   //注意mkdirs(),创建多个文件夹
3,new File 的区别:
 File f = new File("a");//此时f是文件夹

    File f = new File("parent","child"); //此时f是文件,parent文件夹下的文件


    注意:此时会在盘符根目录下创建文件夹 或文件 d
    File f = new File("", "d");
    f.createNewFile(); // f.mkdir()
4,list()方法与listFiles()方法区别:
f.list();
    返回String[]数组.里面包含了f一级目录下的文件和文件夹名.
    注意: 如果f:\\a\\b.那么b不会包含在数组中

    f.listFiles()
    返回File[]数组.里面包含了f一级目录下的文件和文件夹.
    注意: 如果f:\\a\\b.那么b不会包含在数组中
5,文件名过滤器 FilenameFilter
在f1的文件夹中过滤出后缀名为 "txt"的文件
String[] s = f1.list(new FilenameFilter() {
            /**
             * dir 需要被过滤的文件夹 name 需要别被过滤的文  件名 .此名是相对路径
             * 如果返回true 则证明是符合条件的文件.会将改文件返回到数组中
             */
            @Override
            public boolean accept(File dir, String name) {
                File f = new File(dir, name);
                if (f.isDirectory()) {
                    return false;
                }

                if (f.getName().endsWith("txt")) {
                    return true;
                }

                return false;
            }
        });
6,文件过滤器 FileFilter FilenameFilter
  在f1文件夹中过滤出文件长度大于20M的文件.
  File[] fs = f1.listFiles(new FileFilter() {
            /**
             * pathname 表示要被过滤的文件,注意:不是文件名
             * 返ture 证明是符合条件的文件
             */
            @Override
            public boolean accept(File pathname) {

                if (pathname.length() > 1024 * 1024 * 20) {
                    return true;
                }

                return false;
            }
        });  

文件一些常用方法:

        f.delete();  //删除file
        f.exists();  //file是否存在
        f.getName(); //得到file名字
        f.isDirectory();  //file是否是文件夹
        f.isFile();    //file是否是文件
        f.length();   //file的长度

文件路径分为两种:

1,绝对路径  G:\\a.txt  
    2,相对路径  a.txt.   //相对于工作空间的路径( G:\andirodWorkspace\a.txt)

好了,文件的基本创建就是这些了.接下来整理I/O流.

  • 6
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值