day18
一、File io流
1.路径:分为绝对路径和相对路径
绝对路径:从盘开始出发的
相对路径:在idea里面,相对于这个项目的路径叫相对路径
2.File构造方法:
public File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新File 实例
public File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新File 实例
public File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新File 实例
3.创建文件夹或者文件的方法:
public boolean createNewFile() 创建文件
public boolean mkdir() 创建文件夹(只能创建一级文件夹)
public boolean mkdirs() 创建文件夹(能创建多级文件夹)
4.删除文件或者文件夹
注意点:删除文件夹只能删除空文件夹,需要删除又内容的文件夹需要先删除文件夹里面的内容
删除的文件夹是不走回收站的
public boolean delete() 删除文件以及空的文件(不能是多级目录)
5.判断的方法
判断是否为文件夹(目录):public boolean isDirectory()
判断是否为文件:public boolean isFile()
判断者抽象路径的文件夹或者文件是否存在:public boolean exists()
6.重命名或者剪切
public boolean renameTo(Filedest)
重命名(在同一个目录下重命名)或者是剪切(在不同的目录执行的是剪切)
7.得到性的方法:
public String getAbsolutePath() 返回抽象路径的绝对路径的字符串形式
public String getPath() 获取的是File构方法中的路径
public String getParent() 返回此抽象路径名父目录的路径名字符串
public String getName() 返回由此抽象路径名表示的文件或目录的名称
public long length() 返回由此抽象路径名表示的文件的长度
8.过滤性的方法
public String[] list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录(一级目录下)
public String[]list(FilenameFilterfilter)
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
public File[]listFiles(FilenameFilterfilter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录(返回的是文件对象的数组)
1.1构造方法:
package com.lt.demo06;
import java.io.File;
import java.io.IOException;
public class Test01 {
public static void main(String[] args) throws IOException {
File f1=new File("E:\\","t.txt");
File f2 =new File("E:\\t.txt");
String str01 ="E:\\";
String str02 ="t.txt";
File f3 = new File(str01,str02);
f3.createNewFile();
}
}
1.2 创建文件夹或者文件的方法
package com.lt.demo06;
import java.io.File;
import java.io.IOException;
public class Test02 {
public static void main(String[] args) throws IOException {
// public boolean createNewFile() 创建文件
File f1 =new File("E:\\t.txt");
f1.createNewFile();
// public boolean mkdir() 创建文件夹(只能创建一级文件夹)
File f2 =new File("E:\\aa");
f2.mkdir();
// public boolean mkdirs() 创建文件夹(能创建多级文件夹)
File f3 =new File("E:\\bb\\cc\\dd\\ee");
f2.mkdirs();
}
}
1.3 删除文件或者文件夹
package com.lt.demo06;
import java.io.File;
public class Test03 {
public static void main(String[] args) {
File f1 = new File("E:\\t.txt");
boolean flag = f1.delete();
System.out.println(flag);
}
}
1.4 判断的方法
package com.lt.demo06;
import java.io.File;
public class Test04 {
public static void main(String[] args) {
// 判断是否为文件夹(目录):public boolean isDirectory()
File f1 = new File("E:\\t.txt");
File f2 = new File("E:\\aa");
boolean flag01 = f1.isDirectory();
System.out.println(flag01);
boolean flag02 = f2.isDirectory();
System.out.println(flag02);
// 判断是否为文件:public boolean isFile()
boolean flag03 = f1.isFile();
System.out.println(flag03);
boolean flag04 = f2.isFile();
System.out.println(flag04);
// 判断者抽象路径的文件夹或者文件是否存在:public boolean exists()
boolean exists = f1.exists();
System.out.println(exists);
}
}
1.5 重命名或者剪切
package com.lt.demo06;
import java.io.File;
public class Test05 {
public static void main(String[] args) {
File f1=new File("E:\\t.txt");
File f2=new File("E:\\b.txt");
boolean b = f1.renameTo(f2);
System.out.println(b);
File f3 = new File("E:\\aa\\b.txt");
boolean b1 = f2.renameTo(f3);
System.out.println(b1);
}
}
1.6 得到性的方法
public String getAbsolutePath() 返回抽象路径的绝对路径的字符串形式
public String getPath() 获取的是File构方法中的路径
public String getParent() 返回此抽象路径名父目录的路径名字符串
public String getName() 返回由此抽象路径名表示的文件或目录的名称
public long length() 返回由此抽象路径名表示的文件的长度
二、递归
1.开发中递归就是方法自己调用自己 朝着不递归的方向去发展,将大范围逐渐变为小范围
2.注意点:
A.递归是朝着不递归的方向发展,方法的参数是越来越小的
B.递归容易产生栈内存溢出(在递归方法的时候,不断在栈内存里面是开辟空间,所以会栈内存溢出)
|