File
表示物理磁盘中的一个文件或者文件夹。
方法名 | 说明 |
---|
boolean CreateNewFile() | 创建一个空文件。 |
boolean mkdir() | 创建一个指定路径名的文件夹。 |
boolean delete() | 删除一个指定的文件或文件夹,文件夹必须为空才能被删除。 |
boolean exists() | 判断指定的文件或文件夹是否存在。 |
String getAbsolutePath() | 返回文件或文件夹的绝对路径 |
String getName() | 返回文件或文件夹的名称 |
String getParent() | 返回文件/文件夹所在路径 |
boolean isDirectory() | 判断是否为目录 |
boolean isFile() | 判断是否为文件 |
long length() | 返回文件的长度 |
File[] listFiles() | 返回目录中的所有内容,一个文件数组。如果指定的路径不是一个目录就返回 null。 |
boolean renameTo(File dest) | 重命名指定的文件。 |
文件操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| package ml.guest997;
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Date;
public class FileTest { public static void main(String[] args) throws IOException { System.out.println(File.separator); System.out.println(File.pathSeparator);
File file = new File("../IO/test.md"); if (!file.exists()) { file.createNewFile(); FileWriter fw = new FileWriter("test.md", true); fw.write("https://guest997.ml - 一个在互联网下的小小 Coder"); fw.close(); } System.out.println(file.length()); System.out.println(new Date(file.lastModified()).toLocaleString()); System.out.println(file.isFile()); System.out.println(file.renameTo(new File("rename.md"))); System.out.println(file.getPath()); System.out.println(file.getAbsolutePath()); System.out.println(file.getName()); System.out.println(file.getParent()); System.out.println(file.delete()); } }
|
文件夹操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| package ml.guest997;
import java.io.File; import java.util.Arrays; import java.util.Date;
public class FolderTest { public static void main(String[] args) { File dir = new File("../IO/d1/d2"); if (!dir.exists()) { dir.mkdirs(); } System.out.println(dir.getName()); System.out.println(dir.getPath()); System.out.println(dir.getAbsolutePath()); System.out.println(dir.getParent()); System.out.println(new Date(dir.lastModified()).toLocaleString()); System.out.println(dir.isDirectory());
File file = new File("E:/Demo/IO/target"); String[] list = file.list(); System.out.println(Arrays.toString(list)); File[] files = file.listFiles(); for (File f : files) { System.out.println(f); }
System.out.println(dir.delete()); } }
|
文件过滤器(FileFilter 接口)
boolean accept(File pathname):当调用 File 类中的 listFiles 方法时,支持传入 FileFilter 接口实现类,对获取的文件进行过滤,只有满足条件的文件才可以出现在返回值中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| package ml.guest997;
import java.io.File;
public class FF { public static void main(String[] args) { File dir = new File("../IO"); File[] files = dir.listFiles(pathname -> pathname.getName().endsWith(".md")); for (File file : files) { System.out.println(file); } } }
|
递归遍历和删除文件夹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| package ml.guest997;
import java.io.File;
public class RecursiveFolder { public static void main(String[] args) { traverseFolder(new File(".idea")); deleteFolder(new File("target")); }
public static void traverseFolder(File dir) { File[] files = dir.listFiles(); if (files != null && files.length > 0) { for (File file : files) { if (file.isDirectory()) { traverseFolder(file); } else { System.out.println(file.getAbsolutePath()); } } } }
public static void deleteFolder(File dir) { File[] files = dir.listFiles(); if (files != null && files.length > 0) { for (File file : files) { if (file.isDirectory()) { deleteFolder(file); } else { file.delete(); } } } dir.delete(); }
}
|
Properties
以键值对的形式存储属性名和属性值。属性名和属性值都是字符串类型。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| package ml.guest997;
import java.io.*; import java.util.Map; import java.util.Properties;
public class PropertiesTest { public static void main(String[] args) throws IOException { Properties properties = new Properties(); properties.setProperty("Blog", "https://guest997.ml"); properties.setProperty("Guest997", "一个在互联网下的小小 Coder");
for (Object key : properties.keySet()) { System.out.println(key); } for (Object value : properties.values()) { System.out.println(value); }
for (Map.Entry<Object, Object> kv : properties.entrySet()) { System.out.println(kv.getKey()); System.out.println(kv.getValue()); }
for (String propertyName : properties.stringPropertyNames()) { System.out.println(propertyName + ":" + properties.getProperty(propertyName)); }
PrintWriter pw = new PrintWriter("print.md"); properties.list(pw); pw.close();
FileWriter fw = new FileWriter("test.properties"); properties.store(fw, "注释"); fw.close();
Properties properties2 = new Properties(); FileReader fr = new FileReader("test.properties"); properties2.load(fr); fr.close(); System.out.println(properties2); } }
|
print.md
1 2 3
| -- listing properties -- Guest997=一个在互联网下的小小 Coder Blog=https://guest997.ml
|
test.properties
1 2 3 4
|
Guest997=一个在互联网下的小小 Coder Blog=https\://guest997.ml
|