1、 File

  文件和目录路径名的抽象表示形式。

  一个File类对象就代表了一个文件或文件夹。

  1.1 File类的作用

    用来操作硬盘上的文件或文件夹

    绝对路径:一般是以盘符开始的,比如:C:/Java/aaa.png。特点:在系统中具有唯一性。

    相对路径:相对于某个位置而言,比如:java/bbb.png。特点:在系统中不具有唯一性

在java中,默认的相对位置是当前项目的根目录

  1.2 File 类常用构造方法

    public File​(String pathname)   //根据文件名创建文件

    public File​(String parent,String child)   //根据父路径字符串和子路径字符串创建文件对象

    public File​(File parent,String child)   // 从父抽象路径名和子路径名字符串创建新的 File实例。


  1.3 路径分隔符、名称分隔符

    1.3.1 路径分隔符

    public static final String pathSeparator  //与系统相关的路径分隔符字符

    不同的操作系统有不同的路径分隔符:

      Mac和Linux是 :

      Windows是   ;

    1.3.2 名称分隔符

    public static final String separator   //与系统相关的名称分隔符字符

      Mac和Linux是 /

      Windows是   \

      JDK 1.5后,Windows用\来表示路径分隔符都可以

  1.4跟获取相关方法

    public String getAbsolutePath​()         获得绝对路径

    public String getPath​()             获得创建文件对象的指定的文件路径名字符串

    public String getName​()          获取文件名

    public long length​()                 获取文件的大小,单位为字节。如果关联路径的文件不存在,返回为零。只能获得文件的大小,不能获取文件夹的值。

                      获取文件夹的的返回值就是一个垃圾值。

    public File getParentFile​()        获得父路径文件对象

  

  1.5跟判断相关方法

    public boolean exists​()           判断文件是否存在

  public boolean isDirectory​()        判断文件是否是目录

    public boolean isFile​()            判断文件是否是普通文件

  1.6跟创建和删除相关方法

     public boolean createNewFile​() //创建文件,创建成功返回true,如果创建成功,返回true。如果文件存在,则什么也不发生,返回false
        public boolean mkdir​()       //创建单级文件夹。创建成功返回true,创建失败返回false。如果文件夹存在,则什么也不发生,返回false。只能用在文件夹
        public boolean delete​()      //删除文件和文件夹,如果是文件夹,只能删除空文件夹
        public boolean mkdirs​()      //创建多级文件夹. 创建成功返回true,创建失败返回false。如果文件夹存在,则什么也不发生,返回false。只能用在文件夹
 

1.7遍历目录相关

  public String[] list​()       返回一个字符串数组,表示该File目录中的所有子文件或目录

  public File[] listFiles​()     获取文件夹下的所有文件(子文件夹和普通文件),返回文件对象数组

2. 递归

                 

2.1什么是递归?方法自身调用方法自身。

     例子:递归求阶乘

      • 阶乘:所有小于及等于该数的正整数的积。
      • n的阶乘:n! = n * (n-1) * (n-2) * ... * 3 * 2 * 1          

递归分类:

直接递归:方法A调用方法A

间接递归:方法A调用方法B,方法B调用方法C,方法C调用方法A

       2.2递归的注意事项:

              递归必须要有出口:结束递归的条件

3. Filter文件过滤器

FileFilter是一个接口,只要是实现了该接口的实现类对象就是一个文件过滤器。

  3. 1 File类与文件过滤器相关的方法

    public File[] listFiles​(FileFilter filter)

    accept方法的调用时机:

    每当获取到文件夹下的每一个文件或子文件夹时,都会将该文件或文件夹封装成File对象,然后将该File 对象作为参数调用文件过滤器的access方法。

    Access方法返回值的作用;

    返回false,代表传递过来的文件需要过滤掉

    返回true,代表接受文件

4. 补充知识点

Scanner类的next方法nexLine方法的不同点比较:

  a)next/nextInt/nextDouble

    扫描结束的标记是回车、tab键、空格

    在扫描到第一个有效字符之前会自动过滤掉结束标记符:回车、tab键、空格

    不会过滤掉扫描结束的回车

  b)nextLine

    扫描结束标记标记是回车,会过滤扫描结束的回车符

day008-File文件的更多相关文章

  1. FILE文件流的中fopen、fread、fseek、fclose的使用

    FILE文件流用于对文件的快速操作,主要的操作函数有fopen.fseek.fread.fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满 ...

  2. File文件的使用

    线程的停止: 1.停止一个线程一般是通过一个变量来控制 2.如果需要停止一个处于一个等待状态的线程,那么需要配合interrupture方法来完成 守护线程:(后台线程):在一个进程中只剩下守护线程, ...

  3. Python学习(16)File(文件)方法

    Python File(文件) 方法 file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 序号 方法及描述 1 file.close() 关闭文件.关闭后文件不能再进行读 ...

  4. android内核读取file文件

    内核读取file文件的方法: char* file_read(const char * file_path) { struct file *file = NULL; //保存打开文件的文件指针变量 s ...

  5. Java文件操作二:File文件的方法

    一.文件的判断方法 判断方法 .boolean canExecute()判断文件是否可执行 .boolean canRead()判断文件是否可读 .boolean canWrite() 判断文件是否可 ...

  6. Java file文件的写入和读取及下载

    File文件的写入 一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定 ...

  7. js 实现 input type="file" 文件上传示例代码

    在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file ...

  8. file和file文件流

    **io流是程序中比较常用的功能,基本上涉及到文件上传下载的都要用到这功能,比如上传头像,上传附件等等. 对于一个java程序员来说,io流也是必须掌握的,因此这里对比较常用的或者说曾经用过的方法进行 ...

  9. js获取input file文件二进制码

    <html> <body> <img id="image"src=""/> <br/> <input ty ...

  10. js 图片base64转file文件的两种方式

    js 图片base64转file文件的两种方式 https://blog.csdn.net/yin13037173186/article/details/83302628 //将base64转换为bl ...

随机推荐

  1. Kibana6.x.x源码分析--如何使用kibana的savedObjectType对象

    默认kibana插件定义了三种保存实体对象[savedObjectType],如下图所示: 要使用只需要在自己定义的app的uses属性中添加上:savedObjectTypes  即可,如下图所示: ...

  2. Python常用的标准库以及第三方库有哪些?

    20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz ...

  3. dataTable 加了竖向滚动条导致列头样式错位的问题 / 亲测可用,不好用你打我,用好了记得点推荐

    tab在没有显示之前,容器是没有高度宽度的,而dt在自动计算高度和宽度时是获取的外部容器的高度和宽度,当切换tab时,dt获取不到这个高度宽度,导致列头都挤在一起,是用下面代码解决此问题 $('a[d ...

  4. 什么是RFID? 射频识别技术的特点及工作原理!

    RFID即Radio Frequency Identifcation,就是射频识别技术,这篇给大家讲述的就是这个射频识别技术.这里就涉及到射频,电磁学等等知识.看完这篇,你应该会对这些知识有些了解,大 ...

  5. Linux快捷指令

    Linux创建一个快捷指令,直接跳转到某个目录中的某个文件 创建快捷指令命令: $ ln -s 源目录 目标快捷方式 删除快捷指令命令: $ unlink 快捷方式名 eg:比如我想在 /usr 目录 ...

  6. zookeeper 编程框架 curator

    Curator框架提供了一套高级的API, 简化了ZooKeeper的操作. 它增加了很多使用ZooKeeper开发的特性,可以处理ZooKeeper集群复杂的连接管理和重试机制. 这些特性包括: 自 ...

  7. Hash索引和B+树索引总结

    先说Hash索引 在理想的情况下,key非常分散,不存在Hash碰撞的话,采用Hash索引可以唯一得确定一个key的位置,并且这个位置上就只有一个key,所以查找时间复杂度是O(1),非常快,这是Ha ...

  8. Programmer Competency Matrix--ref--http://sijinjoseph.com/programmer-competency-matrix/

    Note that the knowledge for each level is cumulative; being atlevel n implies that you also know eve ...

  9. BNU7538——Clickomania——————【区间dp】

    Clickomania Time Limit: 10000ms Memory Limit: 32768KB 64-bit integer IO format: %I64d      Java clas ...

  10. mysql根据某个字段分组根据更新时间获取最新的记录

    我现在有一种统计表,要根据一个字段分组然后根据更新时间,每个分组获取最新的一条记录.命名感觉挺简单的一个需求,然而没什么思路,当然是问度娘了. 度娘的答案很统一,然而都不管用,都是报错的,不知道是不是 ...