输入/输出流
1.File类
File类可以使用文件路径字符串来创建File实例,该文件路径字符串可以是绝对路径,也可以是相对路径。
1.1访问文件名
方法描述
-
String getName()返回File对象的文件名或者路径名
-
String getPath()返回File对象对应的路径名
-
File getAbsoluteFile()返回File对象的绝对路径
-
String getAbsolutePath()返回File对象的绝对路径名
-
String getParent()返回File对象的父目录
-
boolean renameTo(File newName)重命名文件
代码示例:
//返回File对象的文件名或者路径名 String name = file.getName(); System.out.println(name); //相对路径 String path = file.getPath(); System.out.println(path); //绝对路径 String f1 = file.getAbsolutePath(); System.out.println(f1); //上一级目录 String parent = file.getParent(); System.out.println(parent); //重命名文件 File file2 = new File(“D://2019xx”); boolean b= file.renameTo(file2); System.out.println(b); //返回File对象的绝对路径 File file3 = file.getAbsoluteFile(); System.out.println(file3);
1.2 文件检测
方法描述
-
boolean exists()判断File对象所对应的文件或目录是否存在
-
boolean canWrite()判断文件和目录是否可写
-
boolean canRead()判断文件和目录是否可读
-
boolean isFile()判断是否是文件
-
boolean isDirectory()判断是否是目录
-
boolean isAbsolute()判断是否是绝对路径
-
boolean isHidden()判断文件是否隐藏
代码示例:
//判断可读 System.out.println(file.canRead()); //判断可写 System.out.println(file.canWrite()); //判断是否存在 System.out.println(file.exists()); //判断是否是绝对的 System.out.println(file.isAbsolute()); //判断是否是文件 System.out.println(file.isFile()); //判断是否是目录 System.out.println(file.isDirectory()); //判断是否是隐藏文件 System.out.println(file.isHidden());
1.3 获取文件信息
方法描述
-
long lastModified()最后一次修改时间
-
long length()获取文件长度
代码示例:
File file= new File(“D://1//2//111.txt”); //最后一次修改时间 long l = file.lastModified(); Date d= new Date(l); SimpleDateFormat s= new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); String string = s.format(d); System.out.println(string); //获取文件长度 long length = file.length(); System.out.println(length);
1.4文件操作
方法描述
-
boolean createNewFile()当File对象对应的文件不存在时, 该方法新建一个File对象指定的新文件。成功返回true
-
boolean delete()删除文件
代码示例:
public static void main(String[] args) throws IOException { File file = new File(“D://1//2//3”); //创建文件夹 boolean b = file.mkdirs(); System.out.println(b); //删除文件 boolean delete = file.delete(); System.out.println(delete); File f1 = new File(“D://1//2//1.png”); //当File对象对应的文件不存在时,该方法新建一个File对象指定的新文件。成功返回true boolean b1 = f1.createNewFile(); System.out.println(b1); }
1.5 目录操作
方法描述
-
boolean mkdir()创建新目录
-
boolean mkdirs()创建多层目录
-
String[] list()列出File对象子文件名和路径名,返回String数组
-
File[] listFiles()列出File对象的所有子文件和路径
-
static File[] listRoots()获取系统根路径(获取分区)
代码示例:
//创建一层文件夹 boolean b = file.mkdir(); System.out.println(b); //创建多层文件夹 boolean b1 = file.mkdirs(); System.out.println(b1); File file = new File(“D://2019px”); //只获取目录和文件名称 String[] list = file.list(); for (String string : list) { System.out.println(string); } //获取磁盘分区(根目录) File[] listRoots = File.listRoots(); for (File file2 : listRoots) { System.out.println(file2); } //获取目录的子目录,文件 File[] files = file.listFiles(); for (File f1 : files) { System.out.println(f1); }
1.6 获取分区大小
方法描述
-
long getTotalSpace()获取分区大小
-
long getFreeSpace()获取分区空闲大小
-
long getUsableSpace()获取分区可用大小
代码示例:
File f1= new File(“D://”); //获取分区大小 long totalSpace = f1.getTotalSpace(); System.out.println(totalSpace/1024/1024/1024); //获取分区空闲大小 long freeSpace = f1.getFr