package file;
import java.io.File;
import java.io.IOException;
import org.junit.jupiter.api.Test;/** File类的使用
* 1.File类的一个对象,代表代表一个文件或文件目录,这个文件不一定要实际存在
* 2.路径
* 相对路径:相对于当前工作环境的路径
* 绝对路径:存在盘符内的路径,注意\要用转义字符\\
* 3.四种构造方式
*
* 如下两个方式适用于文件目录
* public String[] list() : 得到目录下所有文件或文件目录的名称数组
* public File[] listFiles() : 得到目录下所有文件或文件目录的File数组
**/
public classFileTest {//四种创建文件方式
@Testpublic voidtest1() {
File file1= new File("hello.txt");
File file2= new File("D:\\a\\1.txt");
File file3= new File("D:\\a","b");
File file4= new File(file3,"c.txt");
System.out.println(file4);
}//File类 get方法
@Testpublic voidtest2() {
File file1= new File("hello.txt");
File file2= new File("d:\\io\\hi.txt");
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getPath());
System.out.println(file2.getName());
System.out.println(file2.getParent());
System.out.println(file2.length());
System.out.println(file2.lastModified());
}//ls获得目录下所有的文件
@Testpublic voidtest3() {
File file= new File("C:\\Users\\ASUS\\Desktop\\JAVAEE\\practice\\IO_FIle");
String [] list=file.list();for(String s: list)
System.out.println(s);
System.out.println("");
File[] listFiles=file.listFiles();for(File f: listFiles)
System.out.println(f);
}/** 文件重命名
* file1.renameTo(file2) :把文件重命名为指定的文件路径
* 这个方法运行成功的要求:file1存在,file2不存在
*
**/@Testpublic voidtest4() {
File file1= new File("1.txt");
System.out.println(file1.length());
File file2= new File("C:\\Users\\ASUS\\Desktop\\JAVAEE\\practice\\IO_FIle\\2.txt");
boolean renameTo=file1.renameTo(file2);
System.out.println(renameTo);
}//File类判断方法
@Testpublic voidtest5() {
File file= new File("2.txt");
System.out.println(file.isDirectory());
System.out.println(file.isFile());
System.out.println(file.exists());
System.out.println(file.canRead());
System.out.println(file.canWrite());
System.out.println(file.isHidden());
}/** 文件的创建与删除
* 注意:删除不走回收站,且这个文件必须存在
**/@Testpublic voidtest6() throws IOException {
File file= new File("3.txt");if(!file.exists()) {
file.createNewFile();
System.out.println("创建成功");
}else{
file.delete();
System.out.println("删除成功");
}
}/** 创建目录:只创建一层:mkdir
* 递归创建:mkdirs
**/@Testpublic voidtest7() {
File file1= new File("io");
boolean mkdir1=file1.mkdir();if(mkdir1)
System.out.println("创建成功1");
File file2= new File("io\\io1\\io2");
boolean mkdir2=file2.mkdirs();if(mkdir2)
System.out.println("创建成功2");
}/** 创建文件
**/@Testpublic voidtest8() throws IOException {
File file1= new File("io\\io1\\hello.txt");
File file2= new File("io\\io1\\haha.txt");if(!file1.exists()) {
file1.createNewFile();
System.out.println("创建成功");
}if(!file2.exists()) {
file2.createNewFile();
System.out.println("创建成功");
}
}/** 查找满足条件的文件:后缀是 .jpg
**/@Testpublic voidtest9() throws IOException {
File file= new File("io\\io1\\a.jpg");if(!file.exists()) {
file.createNewFile();
System.out.println("创建成功");
}
File file1= new File("io\\io1");
String [] s=file1.list();for(String ss : s) {if(ss.endsWith(".jpg"))
System.out.println(ss);
}
}/** 遍历文件目录树
**/
static voidwalk(File file) {
File filelist[]=file.listFiles();for(File f:filelist) {if(f.isDirectory()) {
walk(f);
}else{
System.out.println(f);
}
}
}
@Testpublic voidtest10() {
File file= new File("io");
walk(file);
}
}