File类:

File类:
File类描述了和品台无关的目录和文件。可以新建、删除、重命名等但File不能访问文件内容(需要使用流操作)
1:访问目录和文件:
创建File实例:
new File("绝对路径"); new File(Url对象) File(File parent, String child)
访问文件:
String getName(); String getPath(); Boolean renameTo(File newName) String getParent();
File getAbsoluteFile();//此File对应的绝对路径对应的File对象 String getAbsolutePath();
检测文件:
Boolean exists(); //是否存在File对象对应的文件或者目录。
Boolean canWrite(); Boolean canRead();
Boolean isFile(); //File对象对应的是不是文件。
Boolean isAbsolute(); //判断此File对象对应的路径是不是绝对路径。
文件信息:
long lastModified(); //最近一次修改的时间戳
long length(); //返回文件的长度
文件操作:
boolean createNewFile(); //当此File对象对应的文件不存在时,创建一个新的。
boolean delete(); //删除文件或者目录路径

static File createTempFile(String prefx,String suffix):创建临时文件。
deleteOnExit():当关闭虚拟机是删除这个文件。

目录操作:
boolean mkdir(); //视图创建一个目录,此File对象对应的路径需要是一个目录。
String[] list(); //列出所有子文件名和路径名。
File[] listFile();
Demo:
package demo;
import java.io.File;
import java.io.IOException;
public class Demo {
    public static void main(String[] args) throws IOException {
        File file = new File(".");     //在创建一个File对象,对应的路劲是当前路劲
        System.out.println(file.getName());
        System.out.println(file.getParent());   //file对象对应的相对路劲时:返回null(没有父文件)
        System.out.println(file.getAbsoluteFile());     //获取绝对路径对应的File对象
        System.out.println(file.getAbsolutePath());     //获取绝对路径
        System.out.println(file.getAbsoluteFile().getParent());   //*** 相对路径的File对象使用getParent方法会出错。
        //创建一个临时文件,虚拟机退出时删除之
        File tempFile = File.createTempFile("aaa",".txt",file);
        tempFile.deleteOnExit();
        //以当前的时间戳座位文件名创建一个文件(当前目录下)
        File nowTimeFile = new File(System.currentTimeMillis()+"");
        //一制定File对象创建一个文件
        nowTimeFile.createNewFile();
        String[] fileList = nowTimeFile.list();     //当前文件下的所有文件和目录。
    }
}
package demo;
import java.io.File;
import java.io.IOException;
public class Demo {
    public static void main(String[] args) throws IOException {

        for (int i = 0 ; i <10000 ; i++){
            if(i%100 ==0){
                File file = new File("F:"+File.separator+"File"+File.separator+""+System.currentTimeMillis()+".txt");
                file.createNewFile();   //创建成功
                System.out.println(file.mkdir());     //创建失败。false
                System.out.println("@@@@"+i);
            }
        }
    }
}

 

文件过滤器:
File的list方法中接收一个FilenameFilter的参数,通过该参数可以识别出符合条件的文件。
FilenameFilter接口中有一个accept(File dir,String name)方法,该方法后迭代指定目录的子目录文件,找到符合条件的目录或文件。
 1 package demo;
 2 import java.io.File;
 3 import java.io.FilenameFilter;
 4 import java.io.IOException;
 5 public class Demo {
 6     public static void main(String[] args) throws IOException {
 7         File file = new File("F:"+File.separator+"File"+File.separator);
 8         String [] nameList = file.list(new MyFilenameFilter());
 9         for (String name : nameList){
10             System.out.println(name);
11         }
12     }
13 }
14 class MyFilenameFilter implements FilenameFilter{
15     @Override
16     public boolean accept(File dir, String name) {
17         //如果文件名以.java结尾或者文件对应一个路劲,返回true
18         return name.endsWith(".java") || new File(name).isDirectory();
19     }
20 }

 

 

posted on 2018-01-23 15:36  笑明子  阅读(131)  评论(0编辑  收藏  举报

导航