FIle类和递归方法的使用

File类
概述:文件和目录【文件夹和盘符】路径名的抽象表示形式;文件和目录在内存中的另外一种表现形式
路径:文件或目录在磁盘中的位置的地址
绝对路径:
概述:从根目录开始一直到文件本省的位置的地址
根路径
windows系统:根路径就是盘符路径
mac、linux系统:根路径就是【/】
相对路径:
概述:相对于某个路径而言的路径【有一个参考的路径】
在eclipse当中相对路径相对于工程路径
例如:eclipse的day18工程下的b文件夹:绝对路径:E:\run\myproject\day18\a\b[全路径]
**注意事项:**文件和文件路径使用分隔符隔开
分隔符有两种:
正斜杠:需要写两个【\】windows系统使用的多一些
反斜杠:只需要写一个【/】linux系统使用多一些
构造方法:
1.File(String path):创建一个path路径对应的文件的file对象
2.File(String path1,String path2):创建一个path1和path2拼接后的路径对应文件的file对象
3.FIle(File file1,String path2):创建一个file1对象对应路径和path2拼接后路径对应的文件的file对象
**注意事项:**file对象的创建和路径对应的文件是否存在是没有关系的,照样创建对象出来
常用方法:
创建方法:
1.creatNewFIle():在对应的文件路径下创建一个真正的文件出来
2.mkdir():在对应的文件路径下创建单级【单个】文件夹
3.mkdirs():在对应的文件路径下创建多级文件夹
注意事项
1.创建的文件要保证他所在的文件夹一定要存在磁盘,不存在创建不了
2.创建文件夹要保证它的上层一定要存在,不存在创建不了。
3.创建的文件如果已经存在了就不会在创建
创建文件的步骤:
1.先得到要创建对象的文件的file对象
2.使用该对象调用对应的创建方法创建文件
删除方法:
delete():删除文件或文件夹
注意事项
1.删除文件夹的时候,要求要删除的文件夹必须是空的
2.不会走回收站,回复不了
重命名方法:
renameTo(File f):把调用者的文件名改成参数文件对象对应文件的名称
注意事项:
1.调用文件对象和参数的文件对象在同一个文件夹下,就是重命名
2.调用文件对象和参数的文件对象不在同一个文件夹下,就是剪切
判断方法
exists():判断调用file对象对应的文件在磁盘中是否存在
isFIle():判断文件对象对应的文件是不是文件
isDirectory():判断文件对象对应的文件是不是文件夹
判断方法的返回值都是boolean类型
**注意事项:**判断是否为文件或文件夹的方法使用前提是调用对象对应的文件一定要存在;不然得到的结果永远是false
获取功能:
getAbsolutPath():获取对应文件的绝对路径【全路径】
getPath():获取对应文件对象构造方法里面的那个路径
getName():获取的是文件名称【路径最后一层的内容包含后缀名】
length():获取文件大小【返回的是字节个数】 注意事项:这个方法基本不会给文件夹使用,只会给文件使用。因为文件夹没有大小,文件夹的大小由它包含的文件的大小决定的,大小可变的。;;如果使用文件夹对象调用length方法,根据系统的不同返回的结果也不同,有的返回0、有的返回4096、有的直接报错
String[] list():获取文件夹中所有文件的路径到数组中【只能给文件夹对象】
File【】 listFiles():获取文件夹中所有文件的文件对象到数组中【文件夹对象】

2.递归:
**概述:**方法自己调用自己的现象叫做递归
特点:
1.方法自己调用自己
2.一定要有一个结束递归判断的出口
3.肯定要有数据传递
弊端:
1.不停的调用方法压栈,需要占用空间,如果内存空间小,递归没有执行完,程序结束
好处
代码简单,逻辑容易理解
所有的递归都可以被普通的逻辑取代,只不过设计起来比较难,容易错

发布了29 篇原创文章 · 获赞 9 · 访问量 821

猜你喜欢

转载自blog.csdn.net/qq_41488299/article/details/104867864