File的成员方法有很多,但是只有一部分需要注意:【创建/遍历/获取】
package com.Lucky.File; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; /** * File的成员方法【常用】: * 1.isDirectory() 判断是否为文件夹 * 2.isFile() 判断是否是文件 * 3.exists() 判断是否不存在 * 4.getName() 获取文件名称【如果是文件就返回文件名+文件后缀】【如果是文件夹就返回文件名】 * 5.getAbsolutePath() 获取文件的绝对路径 * 6.getPath() 获取定义文件的路径【获取new File()这里的路径】 * 7.length() 获取文件的大小【单位是字节,注意:不能获取文件夹的大小】 * 8.lastModified 获取文件最后被修改的毫秒值 * * * 接下来的是: File的创建以及删除方法:看FileMothods1 */ public class FileMothods { public static void main(String[] args) { String str="C:\\Users\\Lucky\\Desktop\\测试文件夹"; String child="cs.txt"; System.out.println("----File(String str) 把字符串的路径信息转换成File对象----"); File file1=new File(str); System.out.println(file1); System.out.println("------------------------成员方法---------------------------"); System.out.println(file1.isDirectory()); System.out.println(file1.isFile()); System.out.println(file1.exists()); System.out.println(); File val=new File("H:\\项目\\javaSE\\IO\\src\\com\\Lucky\\File\\test"); System.out.println(val.getName()); System.out.println(val.getAbsolutePath()); System.out.println(val.getPath()); System.out.println(val.lastModified()); //获取文件最后被修改的毫秒值 ///拓展: 将该时间的毫秒值转化成格式为 : yyyy年MM月dd日 long nb= val.lastModified(); Date date =new Date(nb); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy年MM月dd日"); System.out.println(dateFormat.format(date)); } }
package com.Lucky.File; import java.io.File; /** * File对象之创建/删除方法 * 1.createNewFile 创建一个新的文件 * 【注意点:①创建的一定是文件②原来不存在返回true,否则false③如果父级路径不存在,会报IO异常】 * 2.mkdir 创建一个新的文件夹 * 【注意点:①创建的文件夹路径是唯一的②创建单个文件夹】 * 3.mkdirs 创建一个/多个新的文件夹 * 【注意点:①创建的文件夹路径是唯一的②创建一个/多个新的文件夹】 * 4.delete 删除文件【或空文件夹】 */ public class FileMothods1 { public static void main(String[] args) { File val=new File("H:\\项目\\javaSE\\IO\\src\\com\\Lucky\\File\\test"); boolean delete = val.delete(); /*只能删除文件【或空文件夹】*/ System.out.println(delete); } }
package com.Lucky.File; import java.io.File; import java.io.FilenameFilter; import java.util.Arrays; /** * File的遍历: listFiles() 获取当前路径下的所有内容 */ /* 当调用者File表示的路径不存在时,返回null 当调用者File表示的路径是文件时,返回null 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组 当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回 当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含 当调用者File表示的路径是需要权限才能访问的文件夹时,返回null件 */ public class FileMothods2 { public static void main(String[] args) { File file=new File("H:\\YunGameDownload\\leidian\\data"); File[] files = file.listFiles(); for (File file1 : files) { System.out.println(file1); } ///////////////////////////////////////////////////////////////////////// System.out.println("----了解即可----"); System.out.println("list"); File file1=new File("H:\\YunGameDownload\\leidian\\data"); String[] list = file1.list(); System.out.println("获取当前路径下的所有内容【仅仅是名称】"+list); //返回的是数组 //new FilenameFilter()文件过滤器 String[] list1 = file1.list(new FilenameFilter() { /* dir: 表示父级路径 name: 表示子级路径 return: true代表保留,反之代表舍弃 */ @Override public boolean accept(File dir, String name) { //过滤要求:是文件