File类
文件(File类):这是一个代表文件或者文件夹(目录)的类
import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) throws IOException { //创建文件类的对象 //java不会对路径名进行真实的检测 //仅仅只是根据路径名创建一个对象 File file = new File("E:\\a.txt"); //创建一个新文件---空文件 //如果路径名指向的文件已经存在,就不再创建,结果值为false boolean b = file.createNewFile(); //true System.out.println(b); File file1 = new File("E:\\a\\b\\c"); //创建目录 //可以创建多级目录 boolean b1=file1.mkdirs(); System.out.println(b1); //删除----文件有无内容都可以 //彻底删除(不在回收站中) boolean b2=file.delete(); System.out.println(b2); //delete删除目录---只能删除空目录 boolean b3=file.delete(); System.out.println(b3); } }
import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) throws IOException { File file = new File("D:\\"); // 返回当前目录下的 File[] fs = file.listFiles(); for (File f : fs) { System.out.println(f); } // 判断是否是目录 System.out.println(file.isDirectory()); // 判断是否是文件 System.out.println(file.isFile()); } }
案例:删除文件(先把目录下的所有信息展示出来,如果是文件直接删除,如果是目录接着展示除目录下的所有信息,重复上述操作)
import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) throws IOException { File file = new File("D:\\a"); //调用方法进行删除 m(file); } //表示去删除文件的方法 public static void m(File file){ //判断是否是目录 if(file.isDirectory()){ //把目录下的信息展示 File[] fs = file.listFiles(); //遍历文件数组里的内容 for(File f : fs){ //调用本方法 m(f); } } //删除空目录 file.delete(); } }
import java.io.File; public class FileDemo { public static void main(String[] args) { //创建对象---指定路径 File file = new File("D:\\"); //判断目录或者文件是否存在 // System.out.println(file.exists()); //展示总空间 System.out.println(file.getTotalSpace()); //展示已用空间 System.out.println(file.getUsableSpace()); //展示未使用空间 System.out.println(file.getFreeSpace()); //创建对象---指定路径 File file = new File("D:\\1.txt"); //获取的是文件或者目录的名称 System.out.println(file.getName()); //返回的是当前所在目录 System.out.println(file.getParent()); //修改文件最后修改时间 file.setLastModified(4656564L); } }
案例:统计工作空间有多少个.java文件和.class文件
import java.io.File; /* * 统计工作空间有多少个.java文件和.class文件 */ public class FileDemo { // 统计数 static int countJava; static int countClass; public static void main(String[] args) { File file = new File(""); countFile(file); System.out.println(".java文件个数:"+countJava); System.out.println(".class文件个数:"+countClass); } // 统计.java和.class文件的个数 public static void countFile(File file) { // 判断是否是目录 if (file.isDirectory()) { // 把目录下的信息展示 File[] fs = file.listFiles(); // 遍历文件数组里的内容 for (File f : fs) { // 调用本方法 countFile(f); } }else if(file.getName().endsWith(".java")){ //代码执行到这,已经是文件 countJava++; }else if(file.getName().endsWith(".class")){ countClass++; } } }
过滤:
import java.io.File; import java.io.FileFilter; public class FileDemo { public static void main(String[] args) { File file = new File(""); //过滤到当前含有数字的文件或文件夹 File[] fs = file.listFiles(new FileFilter() { //过滤规则 @Override public boolean accept(File pathname) { return pathname.getName().matches(".*\\d+.*"); } }); //Lambada表法式 // File[] fs = file.listFiles(str->str.getName().matches(".*\\d.*")); //遍历数组 for(File f:fs){ System.out.println(f); } } }
import java.io.File; import java.io.FileFilter; public class FileDemo { public static void main(String[] args) { File file = new File("D:\\1.txt"); //重命名 file.renameTo(new File("D:\\2.txt")); //如果前后路径不一致---剪切 file.renameTo(new File("D:\\JAVA\\2.txt")); //可以同时改名和剪切 file.renameTo(new File("D:\\JAVA\\3.txt")); //设置文件只读 file.setReadOnly(); } }
保存redis相关笔记