day008-File文件
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文件的更多相关文章
- FILE文件流的中fopen、fread、fseek、fclose的使用
FILE文件流用于对文件的快速操作,主要的操作函数有fopen.fseek.fread.fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取对我们有用的信息,满 ...
- File文件的使用
线程的停止: 1.停止一个线程一般是通过一个变量来控制 2.如果需要停止一个处于一个等待状态的线程,那么需要配合interrupture方法来完成 守护线程:(后台线程):在一个进程中只剩下守护线程, ...
- Python学习(16)File(文件)方法
Python File(文件) 方法 file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 序号 方法及描述 1 file.close() 关闭文件.关闭后文件不能再进行读 ...
- android内核读取file文件
内核读取file文件的方法: char* file_read(const char * file_path) { struct file *file = NULL; //保存打开文件的文件指针变量 s ...
- Java文件操作二:File文件的方法
一.文件的判断方法 判断方法 .boolean canExecute()判断文件是否可执行 .boolean canRead()判断文件是否可读 .boolean canWrite() 判断文件是否可 ...
- Java file文件的写入和读取及下载
File文件的写入 一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定 ...
- js 实现 input type="file" 文件上传示例代码
在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file ...
- file和file文件流
**io流是程序中比较常用的功能,基本上涉及到文件上传下载的都要用到这功能,比如上传头像,上传附件等等. 对于一个java程序员来说,io流也是必须掌握的,因此这里对比较常用的或者说曾经用过的方法进行 ...
- js获取input file文件二进制码
<html> <body> <img id="image"src=""/> <br/> <input ty ...
- js 图片base64转file文件的两种方式
js 图片base64转file文件的两种方式 https://blog.csdn.net/yin13037173186/article/details/83302628 //将base64转换为bl ...
随机推荐
- Docker 查看容器环境变量
#linux指令# printenv
- abp + angular 项目 图标字体注意事项
用的字体建议下载到本地,否则部署环境没有网络的话,则图片字体会不正常显示.
- Codeforces - 662A 思路巧妙的异或
题意:给你\(n\)堆石子玩尼姆博弈,每堆石子可以是\(a_i\)也可以是\(b_i\),选择概率相等且每堆选择相互独立,求先手必胜(异或不为0)的概率 首先需要找出一种优雅的策略表示方法(利用异或的 ...
- js数组去重 javascript版
//js数组去重 //思路: // 1.放入第一个元素 // 2.放入第n个元素,和第n个之前的元素就行比较,如果有重复,则跳过.没有重复就加入数组中 // 3.返回新的去重后数组 Array.pro ...
- SQL注入(过滤空格和--+等注释符)
1.地址:http://ctf5.shiyanbar.com/web/index_2.php(过滤了空格和--+等注释符) 思路:确定注入参数值类型,直接输入单引号,根据报错信息确定参数值类型为字符型 ...
- spring IoC源码分析 (3)Resource解析
引自 spring IoC源码分析 (3)Resource解析 定义好了Resource之后,看到XmlFactoryBean的构造函数 public XmlBeanFactory(Resource ...
- string查找字符(串)
在C语言中 strchr 和 strstr函数都被包含在<string.h>头文件中,也就是要调用它们时要在程序前面包含<string.h>头文件,也就是写这个语句:#incl ...
- Ace向你推荐一些实用的干货库~开发安卓的好帮手
1 毁灭地球的军火库arsenal- 你想要的枪这里都有卖 哈哈哈哈 , http://android-arsenal.com/ 2 黑科技---在线反编译----嘿嘿嘿 在线反编译 方便简单 客官 ...
- Android代码中实现WAP方式联网
无论是移动.联通还是电信,都至少提供了两种类型的的APN:WAP方式和NET方式.其中NET方式跟WIFI方式一样,无需任何设置,可自由访问所有类型网站,而WAP方式,需要手机先设置代理服务器和端口号 ...
- 删除table表格行
function getRowObj(obj) { while(obj.tagName.toLowerCase()!="tr") // toLowerCase转化小写 { ...