package com.Swork.file; import java.io.File; import java.io.IOException; import java.util.Date; public class Demo1 { public static void main(String[] args) { //1,构造文件对象 System.out.println("======1,构造文件对象======="); File file = new File("D://Work//File1.docx"); if (!file.exists()){ System.out.println("构造文件对象不成功!"); System.exit(1);//终止当下正在运行的虚拟机,不正常退出程序 } System.out.println("成功构建文件:" + file); //2,访问文件属性信息 System.out.println("======2,访问文件属性信息======"); System.out.println("文件或目录是否存在 :" + file.exists()); System.out.println("是文件吗 :" + file.isFile()); System.out.println("是目录吗 :" + file.isDirectory()); System.out.println("名称 :" + file.getName()); System.out.println("路径 :" + file.getPath()); System.out.println("绝对路径 :" + file.getAbsolutePath()); System.out.println("文件父目录 :" + file.getParentFile()); System.out.println("最后修改日期 :" + new Date(file.lastModified())); System.out.println("文件大小 :" + file.length() + "字节"); System.out.println("文件是否可写 :" + file.canWrite()); //3,文件操作 System.out.println("======3,文件操作======"); //3.1 创建文件 String fileName = "D://Work//temp.txt"; //定义文件名 File file2 = new File(fileName); //构建文件对象 if (!file2.exists()){ // 如果文件对象不存在 System.out.println("不存在文件 :" + fileName + "创建该文件 :"); try { file2.createNewFile();//创建文件 System.out.println("创建文件成功!"); } catch (IOException e) { e.printStackTrace(); } } //3.2 删除文件 System.out.println("删除文件 :" + file2.delete()); //4,操作目录 System.out.println("======4,目录操作======"); //4.1 列出目录下的所有文件 System.out.println("====4.1 列出目录下的所有文件"); File dirFile = new File("D://Work"); //设置路径 String [] files = dirFile.list(); //获得目录下的所有文件,包括子目录 for (String f:files) System.out.println("文件名 :" + f); //4.2创建目录 System.out.println("====4.2创建目录"); File newDir = new File("D://Work//tempdir");//定义路径 if (!newDir.exists()) //如果目录不存在 newDir.mkdir(); //创建目录 //4.3删除空目录 System.out.println("====4.3删除目录"); if (newDir.exists()) newDir.delete();//只能删除空目录,如果目录里有文件,必须先删除文件 } }
package com.Swork.file; import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; class FileAccept implements FilenameFilter { private String extendName; public void setExtendName(String name){ this.extendName = "." + name; } @Override public boolean accept(File arg0, String arg1) { return arg1.endsWith(this.extendName);//以扩展名结尾的字符串 } } public class Demo2 { public static void main(String[] args) { //File dirFile = new File("./src");//当前路径的子路径src作为File对象的路径 File dirFile = new File("D://Work"); FileAccept fa = new FileAccept();//文件过滤对象 //fa.setExtendName("java");//设置需要过滤的文件拓展名为java的文件 fa.setExtendName("docx"); String [] fn = dirFile.list(fa); //获得src路径下扩展名为java的文件 for (String name:fn) System.out.println(name); } }