File类
1.构造方法
构造方法主要是用来封装文件名和目录名,不会创建文件和文件夹
File file = new File("D:\\demo\\com"); File file = new File("D:\\a.txt"); File file = new File(new File("D:\\demo"),"a.txt");
2.创建方法
boolean mkdir(); //创建单一的文件夹,只能创建一个文件夹,多个未创建则不会创建成功,且不能创建文件,但是不会报错 file.mkdir();boolean mkdirs(); //创建多个文件夹,同样路径封装里不能加入文件名,否则创建出文件名文件夹 file.mkdirs();boolean createNewFile(); //创造文件的方法 file.createNewFile();
创建文件一般思路:
File file = new File("D:\\demo\\com");\\封装文件夹 file.mkdirs();\\创建文件夹目录 File file2 = new File(file,"a.txt");\\增加文件路径 file2.createNewFile(); \\创建文件
3.删除方法
boolean delete(); //每次只能删除一个文件或文件夹,必须从最里层开始删除,要想删除所有必须定义封装所有文件或文件夹路径 file.delete();
4.重命名方法
boolean renameTo(File file) //里面必须封装为文件路径与实际一致,否则将变成新建文件 file.renameTo(new File("D:\\demo\\com\\a.txt")) File file3 = new File("D:\\demo\\com"); file2.renameTo(new File(file3,"c.txt"));
5.判断功能
boolean isDirectory() //判断是否是一个目录文件boolean isFile(); //判断是否是一个文件boolean exists(); //判断文件是否存在boolean canRead(); //判断文件是否可读boolean isHidden() //判断文件是否隐藏
6.获取功能
String getName() //获取最后一个目录名,或文件名String getAbsolutionPath() //获取绝对路径名,返回为字符串File getAbsolutionFile() //获得绝对路径名,返回为文件long length(); //获取文件内容的长度String getParent(); //获得父目录
6.高级获取
String[] list(); //获取的是父目录下的所有子文件名,仅仅一层,输出仅仅为文件的文件名 String[] filename = new String[10];//创建字符串数组 filename = file3.list(); for (String string : filename) { System.out.println(string); } File[] listFiles(); //返回文件数组,但是file的toString()重写,输出为文件的根路径 File[] filename = new File[10]; filename = file3.listFiles(); for (File string : filename) { System.out.println(string); }
1.判断路径下是否有.png类型的文件,并输出文件名
1.封装D:盘目录
2.获得该文件下的File数组
3.遍历该文件下所有file
4.判断是否是文件
5.判断是否是以。jpg结尾
6.输出名称
public class FileDemo2 { public static void main(String[] args) { //封装路径 File file = new File("D:\\"); //创建File数组 File[] fileArray = file.listFiles(); //遍历 for (File f : fileArray) { //判断是否是文件 if(f.isFile()){ //判断文件是否是以.jpg结尾的 if(f.getName().endsWith(".png")){ System.out.println(f.getName()); } } } } }
2.获取的时候就满足条件 FilenameFilter用于过滤器文件名
boolean accept(File dir,String name) //封装路径 File file = new File("D:\\"); //获得满足条件的名称 String[] strArray = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return new File(dir,name).isFile()&&name.endsWith(".png"); } }); for (String string : strArray) { System.out.println(string); }
3.递归遍历目录下指定文件名
把视频名全部重命名
把E:\java目录下所有以java结尾的绝对路径输出控制台
A:封装路径
B:获取该文件下所有文件或者文件夹的File数组
C:遍历File数组得到每一个File对象
D:判断该File对象是否为文件夹
是:递归调用
不是:判断是否以java结尾
是:输出该文件的绝对路径
否:不搭理
public class FileDemo4 { public static void main(String[] args) { File srcFolder = new File("D:\\"); getAllClassFilesPath(srcFolder); } private static void getAllClassFilesPath(File srcFolder) { try { //获得当前目录下的所有文件夹 File[] files = srcFolder.listFiles(); //遍历files对象 for (File file : files) { //判断当前是否为文件夹 if(file.isDirectory()){ getAllClassFilesPath(file); }else{ if(file.getName().endsWith(".class")){ System.out.println(file.getAbsolutePath()); } } } } catch (Exception e) { e.getMessage(); } } }
作者:张晓天a
链接:https://www.jianshu.com/p/b56e25768e45
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦