File概述与使用方法介绍

File概述 java.io.File类:文件和目录路径名的抽象表示形式。 用来描述电脑中文件,文件夹,以及路径类常用的3个和File有关的单词: file:文件 directory:文件夹(目录) path:路径 File是一个与系统无关的类

File类的3个重载的构造方法路径:window系统的目录分隔符是一个\java中的目录分隔符是:\\或者/路径的分类:绝对路径:以盘符开始的路径例如:D:\\ase\\20170514\\day10D:\\Work_EE_266\\day10\\src相对路径:相对于当前项目来说,路径编写的时候可以省略盘符到项目之间的路径D:\\Work_EE_266\\day10–>src注意:路劲不区分大小写的 File(File parent, String child) 传递路径,传递 File 类型父路径,字符串类型子路径 好处:父路径是 File 类型,父路径可以直接调用 File 类的方法 File(String parent, String child) 传递路径,传递字符串类型父路径,字符串类型的子路径 好处:单独操作父路径和子路径,使用起来比较灵活,可以把路径单独作为参数传递过来 File(String pathname) 传递路径名:可以写文件夹,也可以写到一个文件 c:\\abc c:\\abc\\Demo.java 路径存不存在都可以创建,路径不区分大小写

 1 public static void main(String[] args) { 2         /* 3          * static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。  4          * static char pathSeparatorChar  与系统有关的路径分隔符。  5          * static String separator  与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。  6          * static char separatorChar  与系统有关的默认名称分隔符。  7          */ 8         String pathSeparator = File.pathSeparator; 9         System.out.println(pathSeparator);//路径分隔符 windows 分号; linux 冒号:10         11         String separator = File.separator;12         System.out.println(separator);//目录名称分隔符windows 反斜杠\  linux 正斜杠/13         14         /*15          * System类中的方法16          * static String getProperty(String key) 获取指定键指示的系统属性。 17          * file.separator 文件分隔符(在 UNIX 系统中是“/”) 18          * path.separator 路径分隔符(在 UNIX 系统中是“:”) 19          * line.separator 行分隔符(在 UNIX 系统中是“/n”) 20          */21         System.out.println(System.getProperty("file.separator"));22         System.out.println(System.getProperty("line.separator"));23         System.out.println(System.getProperty("path.separator"));24     }

File类的创建和删除功能 File 类的删除功能 boolean delete() 删除文件或者文件夹,在 File 构造方法中给出 删除成功返回 true,删除失败返回 false(不存在,文件夹中有内容) 删除方法不走回收站,直接从硬盘删除 删除有风险,运行需谨慎File 创建文件夹功能 boolean mkdir() 只能创建单层文件夹 boolean mkdirs() 既能创建单层文件夹,又能创建多层文件夹 创建的路径也在 File 构造方法中给出 如果文件夹已经存在,不在创建File 创建文件的功能 boolean createNewFile() 创建的文件路径和文件名,在 File 构造方法中给出 如果文件已经存在,不在创建返回 false 只能创建文件,不能创建文件夹(看类型,不要看后缀) 创建文件夹的路径,必须存在File类的判断功能 boolean isDirectory() 判断 File 构造方法中封装的路径是不是文件夹 如果是文件夹就返回 true,如果不是文件夹就返回 false boolean isFile() 判断 File 构造方法中封装的路径是不是文件 boolean exists() 判断 File 构造方法中封装路径是否存在 存在就返回 true,不存在就返回 false File类的获取功能 String getParent() 返回 String 对象 File getParentFile() 返回 File 对象 获取父路径,返回的是文件末尾的父路径 long length() 返回路径中表示的文件的字节数,文件夹没有大小 String getPath() 将此抽象路径名转换为一个路径名字符串。 和 toString 一样 String getName() 返回路径中表示的文件或者文件夹名 获取路径中最后部分的名字 File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式。 String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。 获取绝对路径 遍历目录的方法list和listFiles 注意事项:1.被遍历的路径只能是一个目录2.被遍历的目录必须存在 否则就会抛空指针异常 static File[] listRoots() 获取系统中所有根目录 File[] listFiles() 获取到 File 构造方法中封装的路径中的文件和文件夹名(遍历一个目录) 返回的是目录或者文件的全路径 String[] list() 获取到 File 构造方法中封装的路径中的文件和文件夹名(遍历一个目录) 返回的只有名字 递归 递归:方法自己调用自己分类: 递归分为两种,直接递归和间接递归。 直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。注意: 1.递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。 2.在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。 3.构造方法,禁止递归

 1 使用递归计算1-n之间的和 2       n + (n-1)+ (n-2)+(n-3)+...+1 3       5 +(5-1)+(4-1)+(3-1)+(2-1) 4       结束条件:n=1的时候结束 5       方法自己调用自己目的:获取n-1,获取到n=1的时候结束 6     public static int DGSum(int n){ 7         //添加结束条件 8         if(n==1){ 9             return 1;10         }11         return n+DGSum(n-1);12     } 13 14 使用递归计算阶乘15      private static long DGJC(int n) {16         //递归的结束条件 n==117         if(n==1){18             return 1;19         }20         return n*DGJC(n-1);21     }22 23 使用递归计算斐波那契数列    24     private static int fbnq(int month) {25         //结束条件如果month是1,2直接返回126         if(month==1 || month==2){27             return 1;28         }29         //3月以上:兔子数量是前两个月之和30         return fbnq(month-1)+fbnq(month-2);31     }

文件过滤器 文件的过滤器:需求:遍历hello文件夹,只获取文件夹中的.java结尾的文件c:\\helloc:\\hello\\demo.txtc:\\hello\\Hello.java在File类中listFiles()方法是遍历文件夹的方法有两个和 listFiles重载的方法,参数传递的就是过滤器File[] listFiles(FileFilter filter) File[] listFiles(FilenameFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 发现方法的参数FileFilter和FilenameFilter是接口所有我们需要自己定义接口的实现类,重写接口中的方法accept,实现过滤功能

 1 public class FileFilterImpl implements FileFilter{ 2     /* 3      * 实现过滤的方法: 4         1.把传递过来的路径pathname,变成字符串 5             Stirng s  = pathname.toString(); "c:\\hello\\demo.txt" 6             String s  = pathname.getPaht(); "c:\\hello\\demo.txt" 7             String s = pathname.getName(); "demo.txt" 8         2.使用String类中的方法endsWith判断字符串是否以指定的字符串结尾 9             boolean b = s.endsWith(".java");10             return b;11      */12     @Override13     public boolean accept(File pathname) {14         /*String s = pathname.getName();15         boolean b = s.endsWith(".java");16         return b;*/17         return pathname.getName().toLowerCase().endsWith(".java");18     }19 }20 public class FilenameFilterImpl implements FilenameFilter{21 22     @Override23     public boolean accept(File dir, String name) {24         return name.toUpperCase().endsWith(".JAVA");25     }26 27 }

断点调试 debug断点调试 f6:逐行执行 f5:进入到方法中 f7:结束方法 f8:跳到下一个断点 watch:捕获

以上就是File概述与使用方法介绍的详细内容,更多请关注其它相关文章!

人生没有彩排,每天都是现场直播。

File概述与使用方法介绍

相关文章:

你感兴趣的文章:

标签云: