package cn.sasa.demo1; import java.io.File; import java.io.IOException; import java.util.Arrays; public class IODemo { public static void main(String[] args) throws IOException { /** * File静态成员变量 * pathSeparator * 与系统有关的路径分隔符 * * separator * 与系统有关的默认名称分隔符 */ String separator = File.pathSeparator; System.out.println(separator);// ; String parator = File.separator; System.out.println(parator);// File parent = new File("d:"); File file = new File(parent, "Sasa1"); System.out.println(file); //d:Sasa1 File file1 = new File("d:","abc"); System.out.println(file1); //d:abc System.out.println("-----------------------"); // createFileFunc(); // mkdirFunc(); // mkdirsFunc(); // deleteFile(); // getFileInfo(); // fileFunc_1(); // getFileList(); fileFilter(); } /** * File 创建文件的功能 * boolean createNewFile() * 创建的文件路径和文件名,在File构造方法中给出 * 文件已经存在就不再创建 * @throws IOException */ static void createFileFunc() throws IOException { File file = new File("d:/sasa/test1221.txt"); boolean b = file.createNewFile(); System.out.println(b); } /** * File 创建目录功能 * boolean mkdir() 创建文件夹,如果存在,就不创建 * boolean mkdirs() 创建文件夹,如果父文件夹不存在,就会一起创建出来 */ static void mkdirFunc() { File file = new File("d:/hihihi"); boolean b = file.mkdir(); System.out.println(b); } static void mkdirsFunc() { File file = new File("d:/aaa/bbb"); boolean b = file.mkdirs(); System.out.println(b); } /** * 删除文件 * boolean delete() 删除文件或文件夹 * 直接从硬盘中删除,不会到回收站 */ static void deleteFile() { File file = new File("d:/hihihi"); boolean b = file.delete(); System.out.println(b); } /** * File类获取功能 * String getName() 返回文件名或文件夹名 * long length() 返回文件的字节数 * * String getAbsolutePath() 获取绝对路径,返回String对象 * File getAbsoluteFile() 获取绝对路径,返回File对象 * * String getParent() 获取父路径,返回String * File getParentFile() 获取父路径,返回File对象 */ static void getFileInfo() { File file = new File("d:/aaa"); String name = file.getName(); System.out.println(name); System.out.println("================"); File file1 = new File("d:/sasa/test1221.txt"); long fileLength = file1.length(); System.out.println(fileLength); System.out.println("================"); String absPath = file1.getAbsolutePath(); System.out.println(absPath); File absFile = file1.getAbsoluteFile(); System.out.println(absFile); System.out.println("================"); String parentPath = file1.getParent(); System.out.println(parentPath); File parentFile = file1.getParentFile(); System.out.println(parentFile); } /** * File类判断功能 * boolean exists() 判断File中的路径是否存在 * boolean isDirectory() 判断是不是文件夹 * boolean isFile() 判断是不是文件 */ static void fileFunc_1() { File file = new File("d:/sasa/test1221.txt"); boolean isExists = file.exists(); System.out.println(isExists); boolean isDir = file.isDirectory(); System.out.println(isDir); boolean isFile = file.isFile(); System.out.println(isFile); } /** * File 类list * String[] list(): 遍历一个目录 * File[] listFiles():遍历一个目录 */ static void getFileList() { File file = new File("d:/sasa"); String[] strFileList = file.list(); System.out.println(Arrays.toString(strFileList)); System.out.println("================"); File[] fileList = file.listFiles(); for(File f : fileList) { System.out.println(f.getName()); } } /** * 文件过滤 * 根据扩展名过滤文件,或者过滤包含某些关键字的文件夹 * * String[] list(FilenameFilter filter) * File[] listFiles(FileFilter filter) */ static void fileFilter() { System.out.println("================"); File file = new File("d:/sasa"); File[] fileList = file.listFiles(new MyFilter()); for(var f : fileList) { System.out.println(f); } } }
package cn.sasa.demo1; import java.io.File; import java.io.FileFilter; /** * 实现接口 FileFilter 重写 accept 方法 * @author THTF * */ public class MyFilter implements FileFilter{ /** * pathname 文件的全路径 * 对路径进行判断,if .txt true else false */ @Override public boolean accept(File pathname) { return pathname.getName().endsWith(".txt"); } }