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 class FileTest { //四种创建文件方式 @Test public void test1() { 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方法 @Test public void test2() { 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获得目录下所有的文件 @Test public void test3() { 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不存在 * * */ @Test public void test4() { 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类判断方法 @Test public void test5() { 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()); } /* * 文件的创建与删除 * 注意:删除不走回收站,且这个文件必须存在 * */ @Test public void test6() throws IOException { File file = new File("3.txt"); if(!file.exists()) { file.createNewFile(); System.out.println("创建成功"); } else { file.delete(); System.out.println("删除成功"); } } /* * 创建目录:只创建一层:mkdir * 递归创建:mkdirs * */ @Test public void test7() { 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"); } /* * 创建文件 * */ @Test public void test8() 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 * */ @Test public void test9() 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 void walk(File file) { File filelist[] = file.listFiles(); for(File f:filelist) { if(f.isDirectory()) { walk(f); } else { System.out.println(f); } } } @Test public void test10() { File file = new File("io"); walk(file); } }