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. 167 Two Sum-Input array is sorted, 125 Valid Palindrome,344

    注意这两个元素不能是相同的. 解法一:二分查找法,逐一取数组中的值,然后second = target - numbers[i] , 用二分查找法求第二个值. 时间复杂度:O(nlongn) clas ...

  2. drf(djangorestframework)

    一.django restful_framework 核心思想: 缩减编写api接口的代码 Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的 ...

  3. web app与app的区别,即html5与app的区别

    公司准备要做一个项目,是p2p配资的app.在网上问了一些人后,发现有的是直接有html5做好后,用软件封装的.之前我学过app的开发,当时Android版本的,知道开发Android app时写的代 ...

  4. PIE SDK过滤控制

    1.  功能简介 栅格数据前置过滤是在渲染之前对内存中的数据根据特定的规则进行处理,然后再进行数据渲染.本示例以定标为例进行示例代码编写. 定标(校准)是将遥感器所得的测量值变换为绝对亮度或变换为与地 ...

  5. 转 UTL_FILE Throws ORA-29284 Or ORA-29283 When Attempting To READ File

    APPLIES TO: PL/SQL - Version 9.2.0.8 and laterInformation in this document applies to any platform.* ...

  6. spring初始化bean的目的

    初始化bean就是为了将所有需要的bean全部装载到容器里面,等我们需要用到哪个bean就将哪个bean从容器里面拿出来

  7. windows下dubbo-admin的安装

    本来以为十分钟就能搞定的东西结果搞了一个小时,也是菜到抠脚,赶紧记录一下. 下载dubbo源码,下载地址:https://download.csdn.net/download/huangzhang_/ ...

  8. Unable to connect to data source (DSN: shangjihuiclient; Network Address: ; Port Number: 53397). Cannot connect to TimesTen Server. Verify that the TimesTen Server is running or verify that your TCP PORT is set correctly.

    安装完毕TimesTen后,在客户端连接时一直报错. 解决办法是:重启服务器,在连接没在报这个错误.

  9. 使用Serva通过网络PXE方式安装Windows10/CentOS

    下载Servahttp://www.vercot.com/~serva/download.html也可以从本文附件下载Serva_Community_64_v3.0.0.zip,这是社区版,使用50m ...

  10. Java入门系列-07-从控制台中接收输入

    这篇文章帮你使用Scanner类从控制台接收输入 从控制台接收字符串 敲一敲: import java.util.Scanner; public class DemoScanner { public ...