Detailed explanation of java file class (file operation class)
•
Java
Get file properties
Example 1
public class Test02 { public static void main(String[] args) { String path = "C:/windows/"; // 指定文件所在的目录 File f = new File(path,"notepad.exe"); // 建立File变量,并设定由f变量引用 System.out.println("C:\\windows\\notepad.exe文件信息如下:"); System.out.println("============================================"); System.out.println("文件长度:" + f.length() + "字节"); System.out.println("文件或者目录:" + (f.isFile() ? "是文件" : "不是文件")); System.out.println("文件或者目录:" + (f.isDirectory() ? "是目录" : "不是目录")); System.out.println("是否可读:" + (f.canRead() ? "可读取" : "不可读取")); System.out.println("是否可写:" + (f.canWrite() ? "可写入" : "不可写入")); System.out.println("是否隐藏:" + (f.isHidden() ? "是隐藏文件" : "不是隐藏文件")); System.out.println("最后修改日期:" + new Date(f.lastModified())); System.out.println("文件名称:" + f.getName()); System.out.println("文件路径:" + f.getPath()); System.out.println("绝对路径:" + f.getAbsolutePath()); } }
C:\windows\notepad.exe文件信息如下: ============================================ 文件长度:193536字节 文件或者目录:是文件 文件或者目录:不是目录 是否可读:可读取 是否可写:可写入 是否隐藏:不是隐藏文件 最后修改日期:Mon Dec 28 02:55:19 CST 2016 文件名称:notepad.exe 文件路径:C:\windows\notepad.exe 绝对路径:C:\windows\notepad.exe
Create and delete files
Example 2
public class Test03 { public static void main(String[] args) throws IOException { File f = new File("C:\\test.txt"); // 创建指向文件的File对象 if (f.exists()) // 判断文件是否存在 { f.delete(); // 存在则先删除 } f.createNewFile(); // 再创建 } }
public static void main(String[] args) throws IOException { String path = "C:" + File.separator + "test.txt"; // 拼凑出可以适应操作系统的路径 File f = new File(path); if (f.exists()) // 判断文件是否存在 { f.delete(); // 存在则先删除 } f.createNewFile(); // 再创建 }
Create and delete directories
Example 3
public class Test04 { public static void main(String[] args) { String path = "C:/config/"; // 指定目录位置 File f = new File(path); // 创建File对象 if (f.exists()) { f.delete(); } f.mkdir(); // 创建目录 } }
Traverse directory
1. String[] list()
2. String[] list(FilenameFilter filter)
Example 4
public class Test05 { public static void main(String[] args) { File f = new File("C:/"); // 建立File变量,并设定由f变量变数引用 System.out.println("文件名称\t\t文件类型\t\t文件大小"); System.out.println("==================================================="); String fileList[] = f.list(); // 调用不带参数的list()方法 for (int i = 0; i < fileList.length; i++) { // 遍历返回的字符数组 System.out.print(fileList[i] + "\t\t"); System.out.print((new File("C:/",fileList[i])).isFile() ? "文件" + "\t\t" : "文件夹" + "\t\t"); System.out.println((new File("C:/",fileList[i])).length() + "字节"); } } }
文件名称 文件类型 文件大小 =================================================== $Recycle.Bin 文件夹 4096字节 Documents and Settings 文件夹 0字节 Download 文件夹 0字节 DRIVERS 文件夹 0字节 FibocomLog 文件夹 0字节 Gateface 文件夹 0字节 GFPageCache 文件夹 0字节 hiberfil.sys 文件 3375026176字节 Intel 文件夹 0字节 KuGou 文件夹 0字节 logs 文件夹 0字节 msdia80.dll 文件 904704字节 MSOCache 文件夹 0字节 MyDownloads 文件夹 0字节 MyDrivers 文件夹 0字节 news.template 文件 417字节 NVIDIA 文件夹 0字节 OneDriveTemp 文件夹 0字节 opt 文件夹 0字节 pagefile.sys 文件 6442450944字节 PerfLogs 文件夹 0字节 Program Files 文件夹 12288字节 Program Files (x86) 文件夹 8192字节 ProgramData 文件夹 12288字节 QMDownload 文件夹 0字节 Recovery 文件夹 0字节 swapfile.sys 文件 268435456字节 System Volume Information 文件夹 12288字节 Users 文件夹 4096字节 Windows 文件夹 16384字节
Example 5
public class ImageFilter implements FilenameFilter { // 实现 FilenameFilter 接口 @Override public boolean accept(File dir,String name) { // 指定允许的文件类型 return name.endsWith(".sys") || name.endsWith(".txt") || name.endsWith(".bak"); } }
String fileList[] = f.list(new ImageFilter());
文件名称 文件类型 文件大小 =================================================== offline_FtnInfo.txt 文件 296字节 pagefile.sys 文件 8436592640字节
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码