好吧,美丽的星期五。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); } } }}
动手试一下吧。
五、最后将一个文件过滤器
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~~~~