java 微"小"说File

好吧,美丽的星期五。File is coming!位于java.io中的对于文件和目录操作的类,他提供了对目录和文件的创建,删除和重命名等操作。

  一、文件创建createNewFile()/目录创建mkdir()/mkdirs()。

import java.io.File;
import java.io.IOException;
public class FileTest {
    public static void main(String[] args) {
        File fdir=new File("d:/dream/right");
        //File f2=new File("d:/dream/right/left");
        File f = new File("d:/dream/tomorrow.txt");
        fdir.mkdir();
        //f2.mkdirs();创建一系列文件夹。
        if (f.exists()) {
            f.delete();
        } else {
            try {
                f.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

运行程序会在D盘得到文件夹tomorrow.txt文件。上面的代码中提供了一个exists()的方法,用来判断目录或文件是否存在。

 二、删除delete()。仔细观察你的d:/dream包,你会发现,当你反复运行程序时,tomorrow.txt出现间断的存在的现象。这是为什么呢?看到程序11行的位置f.delete(),对了,就是它,用来对于文件的删除操作。

 三、isFile()/isDirectory()。用来判断路径名表示的文件是否是一个文件/目录。可以动手试一下。它们都返回一个Boolean值。

 四、listFiles()。返回指定路径下的的文件。

public class FileTest2 {
    public static void main(String[] args) {
        File f = new File("d:/dream");
        FileTest2.list(f);
    }
    public static void list(File f) {
        File[] fileArr = f.listFiles();
        for (File file : fileArr) {
            if (file.isDirectory()) {
                System.out.println(file.getName());
                list(file);
            } else {
                System.out.println(file);
            }
        }
    }
}

动手试一下吧。

 五、最后将一个文件过滤器FileFilter,做一个简单的介绍。顾名思义使用文件过滤器,可以对文件按条件进行选择。我们来改一下上面的程序,只改动一下list方法。你会看到结果会有很大不同。

public static void list(File f) {
        File[] fileArr = f.listFiles(new FileFilter() {
            @Override
            public boolean accept(File p) {
                if (p.getName().endsWith(".txt"))
                    return true;
                else
                    return false;
            }
        });
        for (File file : fileArr) {
            if (file.isDirectory()) {
                System.out.println(file.getName());
                list(file);
            } else {
                System.out.println(file);
            }
        }

listFiles()方法中传入了一个FileFilter的实例对象,通过它的accept方法实现文件过滤。

 好了,就说这么多,3Q~~~~







你可能感兴趣的:(java,File,文件)