一·File类
1.1基本概念
-
java.io.File类主要用于描述文件或目录路径的抽象表示信息,可以获取文件或目录的特征信息, 如:大小等 。
1.2常用方法
| 方法声明 | 功能概述 |
|---|---|
| File(String pathname) | 根据参数指定的路径名来构造对象 |
| File(String parent, String child) | 根据参数指定的父路径和子路径信息构造对象 |
| File(File parent, String child) | 根据参数指定的父抽象路径和子路径信息构造对象 |
| boolean exists() | 测试此抽象路径名表示的文件或目录是否存在 |
| String getName() | 用于获取文件的名称 |
| long length() | 返回由此抽象路径名表示的文件的长度 |
| long lastModified() | 用于获取文件的最后一次修改时间 |
| String getAbsolutePath() | 用于获取绝对路径信息 |
| boolean delete() | 用于删除文件,当删除目录时要求是空目录 |
| boolean createNewFile() | 用于创建新的空文件 |
| boolean mkdir() | 用于创建目录 |
| boolean mkdirs() | 用于创建多级目录 |
| File[] listFiles() | 获取该目录下的所有内容 |
| boolean isFile() | 判断是否为文件 |
| boolean isDirectory() | 判断是否为目录 |
| File[] listFiles(FileFilter filter) | 获取目录下满足筛选器的所有内容 |
public class FileTest { public static void main(String[] args) { //1.构造File类型对象与f:\a.txt文件关联 File file = new File("f:/a.txt"); //2.判断文件是否打印并打印相关的信息后删除文件 if(file.exists()){ System.out.println("文件的名字是"+file.getName()); System.out.println("文件的大小是"+file.length()); long ldate = file.lastModified(); Date date =new Date(ldate); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = sdf.format(date); System.out.println("文件的最后的修改时间"+format); System.out.println("文件的绝对路径信息是"+file.getAbsolutePath()); System.out.println(file.delete()?"文件删除成功":"文件删除失败"); }else{ //如果不存在则创建新的空文件 try { System.out.println(file.createNewFile()?"文件创建成功":"文件创建失败"); } catch (IOException e) { e.printStackTrace(); } } System.out.println("-------------------------"); //文件的创建和删除 File file2 = new File("f:ddd/aaa/ccc"); if(file2.exists()){ System.out.println("目录的名称是"+file2.getName()); System.out.println(file2.delete()? "目录删除成功": "目录删除失败"); }else{ System.out.println(file2.mkdirs()?"目录创建成功":"目录创建失败"); } System.out.println("----------------"); //将指定目录中的所有内容打印出来 File[] files = file2.listFiles(); for(File tf: files){ String name = tf.getName(); // 判断是否为文件,若是则直接打印文件名称 if (tf.isFile()) { System.out.println(name); } // 若是目录,则使用[]将目录名称括起来 if (tf.isDirectory()) { System.out.println("[" + name + "]"); } } System.out.println("========================="); //目录中所有内容获取的同时进行过滤 FileFilter fileFilter = (File pathname) ->{return pathname.getName().endsWith(".txt");}; File[] filesArray = file2.listFiles(fileFilter); for (File tf : filesArray) { System.out.println(tf); } } }
浙公网安备 33010602011771号