首页 > Java > Java入门 > 正文

详细介绍Java中的File类

王林
发布: 2020-07-23 17:24:54
转载
2889 人浏览过

详细介绍Java中的File类

构造方法

(推荐教程:java入门教程

File f = new File("文件路径")
File f = new File("parent","child")
登录后复制

创建一个文件:

 //在工作空间目录下创建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();
登录后复制

创建一个文件夹:

 //在工作空间目录下创建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(),创建多个文件夹
登录后复制

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()
登录后复制

(视频教程推荐:java视频教程

list()方法与listFiles()方法区别:

f.list();
    返回String[]数组.里面包含了f一级目录下的文件和文件夹名.
    注意: 如果f:\\a\\b.那么b不会包含在数组中

    f.listFiles()
    返回File[]数组.里面包含了f一级目录下的文件和文件夹.
    注意: 如果f:\\a\\b.那么b不会包含在数组中
登录后复制

文件名过滤器 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;
            }
        });
登录后复制

文件过滤器 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;
            }
        });
登录后复制

绝对路径与相对路径

绝对路径  G:\\a.txt  
相对路径  a.txt.   //相对于工作空间的路径( G:\andirodWorkspace\a.txt)
登录后复制

以上是详细介绍Java中的File类的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:csdn.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!