JavaSE总结(8)File类、递归
一、java.io.File:
文件 file 用来存储数据
目录 directry 文件夹 用来区分文件 存储文件
路径名 path 定位文件 文件夹
特点
平台无关性 可以再任何平台上 获取当前平台的内容
静态常量
static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
// win ";" linux ":"
static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
// win "\" linux "/"
二、转意符:
public class Demo02 {
public static void main(String[] args) {
char c = '\'';
System.out.println(c);
String s = "\"";
System.out.println(s);
String s2 = "\\";
System.out.println(s2);
System.out.println("a\tb"); \t相当于一个Tab
}
}
三、java.io.File:
绝对路径 唯一的
d:\\work\\abc\\1.txt
相对路径
day09\\1.txt
在idea当中写的相对路径 他都是默认在project下
a.txt
D:\IdeaProjects\dashuju21\a.txt
day09\a.txt
构造方法:
public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
四、File常用方法:
(1)创建方法:
boolean createNewFile()
如果没有文件则创建一个 如果已经存在则不创建
创建成功返回true 创建失败返回false
此方法只能创建文件 不能创建文件夹
路径在构造方法中给出
win不区分大小写 java区分大小写
boolean mkdir()
创建文件夹 没有就创建 有就不创建
创建成功为true 创建失败为false
此方法只能创建文件夹 不能创建文件
路径在构造方法中给出
此方法不能创建多级文件夹
boolean mkdirs() 这个方法既可以创建
单级文件夹 也可以创建多级文件夹
(2)删除方法:
File类的删除方法
boolean delete() 此方法既可以删除文件 也可以删除文件夹
删除文件 无论文件中是否有数据都可以删除
删除文件夹 如果是空文件夹可以删除 如果文件夹下有内容 无论是什么内容 都删除失败
必须先将里面的内容删除后 才可以删除文件夹
java的删除不走回收站 是永久性删除
删除有风险 操作需谨慎
(3)判断方法:
boolean exists()
判断构造方法中的路径是否存在
存在为true 不存在为false
boolean isFile()
判断是否是文件
是文件为true 不是文件为false 路径不存在为false
boolean isDirectory()
判断是否是文件夹
是文件夹为true 不是文件夹为false 路径不存在为false
(4)获取方法:
public String getAbsolutePath() :返回此File的绝对路径名字符串。
public String getPath() :将此File转换为路径名字符串。
public String getName() :返回由此File表示的文件或目录的名称。
public long length() :返回由此File表示的文件的长度。
(5)遍历方法:
获取当前文件夹下所有文件(单级目录)
String[] list() 获取当前文件夹下所有的文件名
构造方法中给的路径一定是文件夹 并且是存在的 否则返回null
File[] listFiles() 获取当前文件夹下所有的文件对象
五、递归:
方法调用自身的现象
public void method(int i ){
if(i == 0){
return ;
}
i--;
method(i);
}
注意事项
1.递归一定要有一个出口,否则就是死递归
2.递归的次数不宜过多 否则会造成内存溢出
3.构造方法不能递归