今天我要总结一下java File类。这个是一个很重要的类。
首先是我画的思维导图。
还写了一些自己写的代码。
/** * Date : 2017/6/24 * Author : Hsj * Description : */ public class Demo { /** * File(pathname)表示文件或文件夹路径 * File(String parent,child); * File(File parent,child); */ @Test public void fun() { //第一种构造方法 File file = new File("F:\BaiduYunDownload\01、第一阶段java基础(更多视频教程 www.pcsky.wang)\day19\day19\video\001_今日内容.avi"); System.out.println("文件路径是否存在:" + file.exists()); File file2 = new File("ddd.txt");//项目文件夹 System.out.println(file2.exists()); //第二种构造方法 String parent = "F:\BaiduYunDownload\01、第一阶段java基础(更多视频教程 www.pcsky.wang)\day19\day19\video"; String child = "001_今日内容.avi"; File file3 = new File(parent, child); System.out.println(file3.exists()); //第三种构造函数 File file4 = new File("F:\BaiduYunDownload\01、第一阶段java基础(更多视频教程 www.pcsky.wang)\day19\day19\video");//封装成File String child2 = "001_今日内容.avi"; File file5 = new File(file4, child2); System.out.println(file5.exists()); } /** * 创建文件 * createNewFile();//创建文件夹,有就创建返回true,没有就放回false * mkdir();创建文件夹 * mkdirs()创建文件夹和父文件夹 */ @Test public void fun2() { /* File file = new File("yyy.txt"); try { boolean newFile = file.createNewFile(); System.out.println(newFile); } catch (IOException e) { e.printStackTrace(); }*/ /* File file2 = new File("make"); boolean mkdir = file2.mkdir(); System.out.println(mkdir);*/ File file3 = new File("make//make//m"); boolean mkdirs = file3.mkdirs(); System.out.println(mkdirs); } /** * renameTo()重命名或者剪切 * delete()删除文件或者文件夹 * 文件夹中不能包含文件夹或者文件 * 文件夹中不能包含文件夹或者文件 */ @Test public void fun3() { /* File file = new File("make//make/m/xx.txt"); File file2 = new File("ddd.txt"); boolean b = file2.renameTo(file);//完成文件的重命名或者指定盘符剪切 System.out.println(b);*/ /* File file3=new File("yyy.txt"); file3.delete();*/ File file4 = new File("make//make//m/xx.txt"); boolean delete = file4.delete(); System.out.println(delete); } /** * 判断功能 */ @Test public void fun4() { File file = new File("zzz.txt"); /* file.setWritable(false);//设置不可写 System.out.println(file.canWrite());*/ /* file.setExecutable(false);*/ /* try { file.createNewFile();创建文件 } catch (IOException e) { e.printStackTrace(); }*/ } /** * 获取功能 * public String getAbsolutePath():获取绝对路径 * public String getPath():获取路径 * public String getName():获取名称 * public long length():获取长度。字节数 * public long lastModified():获取最后一次的修改时间,毫秒值 * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组 * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组 */ @Test public void fun5() { /* File file=new File("zzz.txt"); System.out.println(file.getAbsoluteFile());///获取绝对路径 System.out.println(file.getParent());//只能用于路径,获取父路径 System.out.println(file.getPath());//获取构造函数传过来的路径 System.out.println(file.getName());//获取文件名 System.out.println(file.length()); System.out.println(file.lastModified());//获取最后一次修改的时间毫秒值 Date d=new Date(file.lastModified()); SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); System.out.println(sdf.format(d));*/ /* File file=new File("C:\Users\ABC\Desktop\javaWork\Struts2\Struts2MavenDemo3"); String [] fileList=file.list(); for (String s:fileList){ System.out.println(s); } System.out.println(file.getAbsoluteFile());*/ } public static void isSuffixJpg(File file, List<String> mlist) { File[] fileList = file.listFiles();//获取file if (fileList != null) { for (File f : fileList) { if (f.isDirectory()) { isSuffixJpg(f, mlist); } else { String fileName = f.getName(); if (fileName.endsWith(".jpg")) mlist.add(f.getName()); } } } } @Test public void fun6() { File file = new File("F:\我的文件\我的图片\TU"); List<String> list = new ArrayList<>(); isSuffixJpg(file, list); System.out.println(list.size()); for (String s : list) { System.out.println(s); } } //遍历指定文件夹下的文件 @Test public void fun7() { File file = new File("F://"); String[] sList = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { System.out.println(dir.getName()); System.out.println(); return true; } }); for (String s:sList) { System.out.println(s); } } @Test public void fun8(){ List<String> sList=new ArrayList<>(); File file=new File("F:\我的文件\我的图片\TU"); isSuffix(file,sList); for (String s:sList ) { System.out.println(s); } } public static void isSuffix(File file,List<String> mlist){ File[] files = file.listFiles(); for (File f:files){ if(f.isDirectory()){ isSuffix(f,mlist); } else { String name = f.getName(); if(name.endsWith(".jpg")){ mlist.add(name); } } } } @Test public void fun9(){ File file= new File("D://"); String [] sList=file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { /*System.out.println(dir);//封装的目录D盘 System.out.println(name);//目录下文件的名字*/ File file2=new File(dir,name); return file2.isFile()&&file2.getName().endsWith(".jpg"); } }); for (String s:sList){ System.out.println(s); } } @Test public void fun10(){ File file=new File("D://"); File [] files=file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return true; } }); for (File f:files){ System.out.println(f.getName()); } } }