1.File
-
File常用函数
public static void main(String[] args) throws IOException { // 相对路径 : IO流默认目录 : 当前项目工程开始自己算 // 绝对路径 : 带盘符的路径 : // 网络路径 : https://img2.baidu.com/it/u=3164322677,862193441&fm=253&fmt=auto&app=120&f=GIF?w=569&h=362 // File : 文件(带后缀的)和目录(文件夹) // 静态字段 : System.out.println("File.pathSeparator = " + File.pathSeparator); System.out.println("File.pathSeparatorChar = " + File.pathSeparatorChar); System.out.println("File.separator = " + File.separator); System.out.println("File.separatorChar = " + File.separatorChar); File file = new File("a.txt");// 和文件建立联系. 和IO流不同, 不存在的文件不会自动新建 // File file = new File("F:\\IdeaProjects" + File.separatorChar + "JavaBase/a.txt"); // 创建文件 boolean newFile = file.createNewFile(); System.out.println("newFile = " + newFile); System.out.println("file.exists() = " + file.exists());// 判断文件存在吗 // boolean canExecute() 文件是否可用 // boolean canRead() 可读吗 // boolean canWrite() 可写吗 System.out.println("file.canExecute() = " + file.canExecute()); System.out.println("file.canRead() = " + file.canRead()); System.out.println("file.canWrite() = " + file.canWrite()); // boolean delete() // 删除此抽象路径名表示的文件或目录 // System.out.println("file.delete() = " + file.delete()); // boolean equals(Object obj) : 路径 // 测试此抽象路径名与给定对象是否相等。 // File getAbsoluteFile() // 返回此抽象路径名的绝对路径名形式。 // String getAbsolutePath() // 返回此抽象路径名的绝对路径名字符串。 System.out.println("file.getAbsolutePath() = " + file.getAbsolutePath()); System.out.println("file.getAbsoluteFile() = " + file.getAbsoluteFile());// 会自动转化成可读懂的格式 // String getName() // 返回由此抽象路径名表示的文件或目录的名称。 System.out.println("file.getName() = " + file.getName()); // String getParent() // 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。 System.out.println("file.getParent() = " + file.getParent()); // File getParentFile() // 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。 System.out.println("file.getParentFile() = " + file.getParentFile()); // boolean isAbsolute() // 测试此抽象路径名是否为绝对路径名。 System.out.println("file.isAbsolute() = " + file.isAbsolute()); // boolean isDirectory() // 测试此抽象路径名表示的文件是否是一个目录。 System.out.println("file.isDirectory() = " + file.isDirectory()); // boolean isFile() // 测试此抽象路径名表示的文件是否是一个标准文件。 System.out.println("file.isFile() = " + file.isFile()); // boolean isHidden() // 测试此抽象路径名指定的文件是否是一个隐藏文件。 System.out.println("file.isHidden() = " + file.isHidden()); // long lastModified() // 返回此抽象路径名表示的文件最后一次被修改的时间。 System.out.println("file.lastModified() = " + file.lastModified()); System.out.println(new SimpleDateFormat("yyyy/MM/dd kk:mm:ss SSS").format(new Date(file.lastModified()))); // long length() // 返回由此抽象路径名表示的文件的长度。 System.out.println("file.length = " + file.length()); // boolean mkdir() // 创建此抽象路径名指定的目录。 // new File("F:\\aa\\bb\\cc").mkdir(); System.out.println("File(\"F:\\\\aa\\\\bb\\\\cc\").mkdirs() = " + new File("F:\\aa\\bb\\cc").mkdirs()); // boolean mkdirs() // 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 // boolean renameTo(File dest) // 重新命名此抽象路径名表示的文件。 file.renameTo(new File("x.txt")); }
-
遍历文件系统根
public static void main(String[] args) { // static File[] listRoots() // 列出可用的文件系统根。 File[] files = File.listRoots(); Stream<File> stream = Arrays.stream(files); stream.forEach(System.out::println); System.out.println("------------------------------------"); String[] list = files[files.length-1].list(); Arrays.stream(list).forEach(System.out::println); }
-
递归遍历所有文件
public static void main(String[] args) { // 打印目录树 : 递归 printAllFile(new File("I:\\")); } public static void printAllFile(File file){ if (!file.exists()) {// 可能有异常时, 不使用try, 自己编程格式如下 throw new IllegalArgumentException("文件 " + file.getName() + " 不存在!"); } if (file.isFile()) { throw new IllegalArgumentException("文件 " + file.getName() + " 不是目录!"); } File[] files = file.listFiles(); if (files != null && files.length > 0) { Arrays.stream(files).forEach((fileName)->{ if (fileName.isFile()) { System.out.println(fileName); } else { printAllFile(fileName);// 递归, 从根目录开始一层层遍历所有文件夹 } }); } }
2.网络
-
import导入同名类
import java.util.*;// 引入该包下所有的类 /** * @author 张晗 * @create 2023-12-29 13:08 * @desc */ public class Practice01 { public static void main(String[] args) { // import : 简化书写 Date date = new Date(); // 当有两个同名类时, 只能导一个包, 另一个类写全名(util.Date和sql.Date) java.sql.Date date1 = new java.sql.Date(0L); } }
-
import导入静态函数
import java.util.Arrays; import static java.util.Arrays.sort;// 引入该类下静态函数 import static java.util.Arrays.stream; import static java.util.Arrays.fill; import static java.util.Arrays.*;// 引入该类下所有的静态函数 /** * @author 张晗 * @create 2023-12-29 13:11 * @desc */ public class Practice02 { public static void main(String[] args) { int[] ints = {}; sort(ints); stream(ints); fill(ints, 110); copyOf(ints, 10); Arrays.toString(ints); Arrays.equals(ints, ints); } }