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 ...
随机推荐
- 【KMP】洛谷P2375 [NOI2014]动物园 题解
一开始的方向应该对了,但是没有想到合理的优化还是没写出来…… 题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己 ...
- BZOJ - 4520 K远点对
题意:已知平面内 N 个点的坐标,求欧氏距离下的第 K 远点对 维护大小为2k最小堆,KD树的估值用前面提到的做法 PS.网上有人估价是使用边界四个点的最值来独立枚举,然而这样写似乎过不了 #incl ...
- oracle 控制文件损坏处理
一, 故障模拟 控制文件损坏 发现关闭不了 强制关闭 故障恢复 发现已经执行到mont阶段,因为这个不依靠控制文件 进入整段日志 cd /u01/app/oracle/diag/rdbms/o ...
- 1、java线程模型
要了解多线程,先需要把java线程模型搞清楚,否则有时候很难理清楚一个问题. 硬件多线程: 物理机硬件的并发问题跟jvm中的情况有不少相似之处,物理机的并发处理方案对于虚拟机也有相当大的参考意义.在买 ...
- Ural 1260 Nudnik Photographer
Problem Description If two people were born one after another with one second difference and one of ...
- NBUT 1107——盒子游戏——————【博弈类】
盒子游戏 Time Limit:1000MS Memory Limit:65535KB 64bit IO Format: Submit Status Practice NBUT 110 ...
- Java学习第二十二天
1:登录注册IO版本案例(掌握) 要求,对着写一遍. cn.itcast.pojo User cn.itcast.dao UserDao cn.itcast.dao.impl UserDaoImpl( ...
- C# Uploadify 文件上传组件的使用
一.页面的构建 1.要引用的JS和CSS <link href="../css/jquery-ui.css" rel="stylesheet" type= ...
- Oracle 过程中变量赋值
create or replace function get_sal1(id employees.employee_id%type) return number is sal employees.sa ...
- avalon实现分页组件
前言 分页组件比较常见,但是用avalon实现的见的不多,这个分页组件,可以适配2种分页方式, 第一种是每次点击下一页,就请求一次后台,并返回当页数据和总条数,我称之为假分页: 第二种是一次性把所有数 ...