IO前哨站之##File##

mac2024-05-08  38

数据在电脑中都是以文件的形式体现的。我们使用IO读写数据,就是对文件进行读写 Java为了让我们描述文件或者目录 就给我们提供了一个类 File File 文件和目录路径名的抽象表示形式。 File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 路径: 绝对路径:带有盘符号的详细路径 相对路径:不带有盘符号的路径 相对路径,在工程的根目录

封装一个文件

File file = new File("D:\\红烛教鞭使用方法.png"); System.out.println(file.toString()); //封装一个目录 File file1 = new File("D:\\测试图片"); File file2 = new File("D:\\", "测试图片"); File file3 = new File("D:\\", "红烛教鞭使用方法.png"); File file4 = new File("D:\\"); File file5 = new File(file4, "红烛教鞭使用方法.png");

创建新的文件 返回值表示文件创建成功,如果文件已经存在则返回false

boolean b = file.createNewFile(); System.out.println(b);

创建单级目录,如果目录已经存在,则返回false

File file = new File("E:\\abc"); //目录/文件夹 文件 boolean b = file.mkdir();

删除文件或目录

File file = new File("b.txt"); //注意删除,不经过回收站,返回值代表是否删除成功 boolean b = file.delete(); System.out.println(b); File file1 = new File("E:\\abc"); //在删除目录时,只能删除空目录,非空目录直接删除不了 file1.delete();

重名文件,返回值是否重命名成功

File file = new File("bbb.txt"); File file1 = new File("E:\\eee.txt"); //renameTo()方法有两层作用 //1.重命名:当你传入的新文件和旧文件的路径保持一致,是重命名 //2.剪切:当你传入的新文件和旧文件的路径不一致,就会发生剪切现象 boolean b = file.renameTo(file1);

有关于获取的方法

File file = new File("a.txt"); //获取文件名 String name = file.getName(); System.out.println(name); //获取文件的大小,单位是字节 long length = file.length(); System.out.println(length); //获取文件的相对路径 String path = file.getPath(); System.out.println(path); File file1 = new File("C:\\Users\\ShenMouMou\\Desktop\\异常的继承体系.png"); //获取文件的绝对路径,以String类型返回 String absolutePath = file1.getAbsolutePath(); System.out.println(absolutePath); //获取文件的绝对路径,以File类型返回,他比较灵活 File absoluteFile = file1.getAbsoluteFile(); //absoluteFile.delete(); System.out.println(absolutePath.toString()); File file1 = new File("C:\\Users\\ShenMouMou\\Desktop\\异常的继承体系.png"); //获取文件的父路径,以String 类型返回 String parent = file1.getParent(); //获取文件的父路径,以File 类型返回,此方式灵活 File parentFile = file1.getParentFile(); System.out.println(parent); //构造方法:父路径的file ,子文件名 File file = new File(parent, "bbb.txt"); file.createNewFile(); System.out.println(parentFile); //获取盘符总容量 File file = new File("F:\\"); //获取盘符总容量 long totalSpace = file.getTotalSpace();//单位是字节 System.out.println(totalSpace/1024/1024/1024.0+":GB"); //获取剩余空间 long freeSpace = file.getFreeSpace(); System.out.println(freeSpace / 1024 / 1024 / 1024.0 + ":GB"); //获取已用空间=总容量-剩余空间; File file1 = new File("C:\\Users\\ShenMouMou\\Desktop\\异常的继承体系.png"); //file1.setLastModified(); //获取文件的最后一次修改时间 long time= file1.lastModified();//单位毫秒 System.out.println(time); //转换成 年月日 时分秒 来看 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = dateFormat.format(new Date(time)); System.out.println(format);

list(); 获取此目录下所有的文件或目录 名称的数组

String[] list = file.list(); for (String s : list) { //System.out.println(file+s); File file1 = new File(file +"\\"+s); if(file1.isFile()&&file1.getName().endsWith(".jpg")){ System.out.println(file1.getName()); } }

文件过滤器

File file = new File("E:\\jieya\\img\\"); //获取此目录下,符合条件的文件后文件夹放到数组中 File[] files = file.listFiles(new FilenameFilter() { //过滤的方法 @Override public boolean accept(File dir, String name) { //获取此目录下所有的文件名是以.jpg结尾的文件名 //System.out.println(dir);//父路径的File 形式 //System.out.println(name);//文件名字符串形式 File file1 = new File(dir, name); if(file1.isFile()&&file1.getName().endsWith(".jpg")){ return true; }else{ return false; } } }); //System.out.println(Arrays.toString(files)); for (File file1 : files) { System.out.println(file1); } File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { //System.out.println(pathname); if(pathname.isFile()&&pathname.getName().endsWith(".jpg")){ return true; }else{ return false; } } });
最新回复(0)