20File
file 代表文件夹或者目录的类
不管是文件还是目录都是使用File来操作的,File能新建、删除和重命名文件和目录,
File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流
public static void main(String[] args) { //创建文件类对象 File file=new File("D:\\a\\b\\c"); //返回目录或者文件的名称 System.out.println(file.getName());//c //返回所在目录路径 System.out.println(file.getParent());//D:\a\b //返回所在位置的路径以及名称 System.out.println(file.getPath()); //D:\a\b\c }
public static void main(String[] args) { //创建File类对象 //再创建对象的过程种不回去检测真实的路径 //只是在根据给定的路径创建对象,并没有创建文件 File file=new File("D:\\a.txt"); File file2=new File("D:\\a\\b\\c"); //创建文件--空文件 try{ boolean b= file.createNewFile(); } catch (java.io.IOException e) { System.out.println(e.getMessage()); } //创建文件夹---目录 //不仅可以创建目录还可以创建多级目录 boolean b1=file.mkdir(); boolean b2=file2.mkdirs(); //可以删除文件(有无目录),可以删除目录(要是空目录) //直接删除---不会放在回收站中 boolean b3=file.delete(); }
用递归删除文件夹(里面有内容)
public static void main(String[] args) { //创建文件家对象 File file=new File("D:\\a"); delect(file); } public static void delect(File file) { if(file.isDirectory()) { //获取当前目录下的所有文件以及文件夹信息 File[]fs=file.listFiles(); for(File f:fs) { //判断是否是文件夹 delect(f); } } //删除文件---和空文件夹 file.delete(); }
统计工作空间中有多少个.java和.class文件
public class FileText2 { //统计.class文件 static int countClass; //统计.java文件 static int countJava; public static void main(String[] args) { //创建文件类对象 File file=new File("D:\\workspace"); //调用方法进行统计 countFile(file); //输出 System.out.println(".java:"+countJava+",.class:"+countClass); } public static void countFile(File file){ //判断是否是文件夹 if(file.isDirectory()){ //把当前文件夹信息获取出来 File[] fs=file.listFiles(); //遍历数组 for (File f : fs) { //递归调用本方法 countFile(f); } }else if(file.getName().endsWith(".class")){//文件 countClass++; }else if(file.getName().endsWith(".java")){ countJava++; } } }
public static void main(String[] args) { //创建文件类对象 File file=new File("D:\\2.txt"); /*//返回的是从19701月1日到现在的毫秒值 System.out.println(file.lastModified()); // file.setLastModified(324912L);*/ //输出D盘下名称含有数字的文件或者文件夹 /*File[] fs=file.listFiles(new FileFilter() { //匹配规则 @Override public boolean accept(File pathname) { // TODO Auto-generated method stub return pathname.getName().matches(".*\\d.*"); } });*/ //File[] fs=file.listFiles(str->str.getName().matches(".*\\d.*")); // /*File[] fs=file.listFiles(new FilenameFilter() { //匹配规则 @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub return name.matches(".*\\d.*"); } });*/ /*File[] fs=file.listFiles((str,name)->name.matches(".*\\d.*")); //遍历数组 for (File f : fs) { System.out.println(f); }*/ //重命名---剪切(路径不一样) file.renameTo(new File("D:\\javase\\2.txt"));//文件存储的路径 }