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 ...
随机推荐
- Rebranding(模拟+思维)
The name of one small but proud corporation consists of n lowercase English letters. The Corporation ...
- 119th LeetCode Weekly Contest K Closest Points to Origin
We have a list of points on the plane. Find the K closest points to the origin (0, 0). (Here, the d ...
- 解决页面使用overflow: scroll,overflow-y:hidden在iOS上滑动卡顿的问题
解决页面使用overflow: scroll,overflow-y:hidden在iOS上滑动卡顿的问题 div{ width: 100%; overflow-y: hidden; -webkit-o ...
- linux下解压rar文件
由于,linux系统内置没有这个包需要,我们用源码,添加到系统 Linux下rar unrar的安装 以3.8.0版本为例,如果是64位平台,执行以下命令,也可以去官方网站:)下载最新版:wget h ...
- Hibernate Annotation
[转自] http://blog.sina.com.cn/s/blog_7ebc1b7e0100w58e.html Table Table用来定义entity主表的name,catalog,schem ...
- Phyton pymssql连接数据库
import pymssql # conn = pymssql.connect(server='longdabing',user='sa',password='sasa',database='long ...
- CAPL编程实现诊断刷写,车联网FOTA流程自动化测试(代码篇)
原创内容,转载请注明出处 接上篇,本文主要讲CAPL编程详细实现,软件环境CANoe 11.0 一.Simulation Setup 1.建模之前,首先创建一个.DBC文件.如果不会,可以用一个 ...
- centos 安装xrdp远程连接桌面
1. 安装epel库,否则无法安装xrdp yum install epel-release 2.安装 xrdp yum install xrdp 3. 安装tigervnc-server yum i ...
- opatch on-line patch and standby-fisrt patch
opatch on-line patch and standby-fisrt patch on-line patch 有缺陷,不建议使用,standby-fisrt patch 可以考虑使用 #### ...
- Xlua文件在热更新中调用方法
Xlua文件在热更新中调用方法 public class news : MonoBehaviour { LuaEnv luaEnv;//定义Lua初始变量 void Awake() { luaEnv ...