A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 愤怒的哈博兔 中级黑马   /  2015-8-5 17:37  /  464 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String pathName = "e:\\java_code\\day22e\\Test22\\hello.java";
File f1 = new File(pathName);//将Test22文件封装成对象.注意:有可以封装不存在文件或者文件夹,变成对象
System.out.println(f1);

File f2 = new File("e:\\java_code\\day22e\\Test22","hello.java");
//将parent封装成file对象
//封装后可以按照文件对象的方法进行操作,没有封装只是字符串
File dir = new File("e:\\java_code\\day22e\\Test22");
File f3 = new File(dir,"hello.java");

private static final String FILE_SEPARATOR = System.getProperty("file.separator");
File f4 = new File("e:"+FILE_SEPARATOR+"java_code"+FILE_SEPARATOR+"day22e");
//下面方法一样
File f5 = new File("e:"+File.separator+"java_code"+File.separator+"day22e"+File.separator+"Test22","hello.java");
--------------------------------------------------------
获取绝对路径:
File file = new File("Test22.java");
//File中封装的是什么获取的就是什么
String path = file.getPath();
//获取绝对路径
String absPath = file.getAbsolutePath();
获取文件名
String filename = file.getName();
//获取文件大小
long size = file.length();
//获取最后修改时间
long time = file.lastModified();
--------------------------------------------------------------------
File对文件或者文件夹的操作
File file = File("e:\\file.txt");
/*
创建文件,如果文件不存在,返回true
如果文件存在返回false
如果路劲错误;IOException;
*/
boolean b1 = file.creatNewFile();
//删除
boolean b2 = file.delete();//注意:不去回收站,直接删除,慎用
//判断文件是否存在
boolean b3 = file.exists();

//对目录操作,创建,删除,判断
File dir = new File("e:\\abc");

boolean b4 = dir.mkdir();//创建目录
//dir.mkdirs();创建多级目录

boolean b5 = dir.delete();//删除目录时,如果目录中有内容,无法删除只有把目录中
//内容都删除后,保证目录为空,这个时候目录才可以被删除

//判断文件,目录
File file = new File("e:\\a.java");//要判断是否是文件还是目录要判断文件是否存在
System.our.println(file.isFile());//
System.out.println(file.isDirectory());

---------------------------------------------------------------
对给定的目录获取其中的内容
//健壮性判断1.必须存在,2.必须是目录否则容易引发出现数组为null,出现NullPointerException
File file = new File("e:\\java_code");
String[] names = dir.list();//获取当前目录下的文件夹和文件的名称
for(String name : names){
        System.out.println(name);
}

File[] files = dir.listFiles();//获取当前目录下的文件以及文件夹对象          
for(Files[] file : files){
        System.out.println(file.lastModified());
       
       
        ----------------------------------------------------------------------------
        需求2:获取目录中的内容,但是只用".java"文件        
        File dir = new File("E:\\Java_code\\day06");
        File[] files = dir.listFiles();//需要传递一个文件名过滤器FilenameFilter对象
        for(File[] file : files){
                if(file.gerName().endsWith(".java")){
                        System.out.println(file.gerName());
                }
        }
        //以上写法代码被写死了,不好修改
        //通过实现接口FilenameFilter接口中accept方法改进
       
        ===============实现文件名过滤器,需要实现FilenameFilter接口=========
        public class FilenameFilterByJava implements FilenameFilter{
                @override
                public boolean accept(File dir,String name){
                        return name.endsWith(".java");
                }
        }
        =======================================================
        File[] files = dir.listFiles(new FilenameFilterByJava());
        for(File file : files){
                System.out.println(file.getName());
        }
        ===========指定扩展名过滤====================================
        public class FilenameFilterBySuffix implements FilenameFilter{
                private String suffix;
                pulic FilenameFilterBySuffix(String suffix){
                        super();
                        this.suffix = suffix;
                }
                @override
                public boolean accept(File dir,String name){
                        return name.endsWith(suffix);
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马