文件操作,和过滤器
-
创建文件: file.createNewFile();
获取文件的名字: file.getName();
获取file表示的文件或目录的长度(大小) file.length();
文件是否存在: file.exists();
==========================================================创建单级文件夹,文件上一级目录必须存在,不存在不会报错但是不会创建 :dir.mkdir();
创建多级文件夹 :dir1.mkdirs();
判断是否是一个目录 :dir1.isDirectory();
获取目录的所有子项 :File[] subs = dir3.listFiles();
删除文件或目录 :dir1.delete();获取文件的名字创建文件 //访问已知文件,没有这个文件也不会报错 File file = new File("C:\\Users\\admin\\Desktop\\Dome.txt"); //创建文件,创建文件时,文件上一级路径必须有,不然报错,比如:"C:\\Users\\admin\\Desktop\\11\\Dome.txt" //注意抛出异常Alt+Enter,抛出不报错即可,现在主要是文件操作 file.createNewFile(); //获取文件的名字 String name = file.getName(); System.out.println("文件名name: "+name); //获取file表示的文件或目录的长度(大小) long len = file.length(); System.out.println("文件长度len: "+len); boolean Hidden = file.isHidden();//文件是否是隐藏的 System.out.println(Hidden); boolean cr = file.canRead();//文件是否可读 System.out.println(cr); boolean cw = file.canWrite();//文件是否可写 System.out.println(cw); boolean is = file.exists();//文件是否存在 System.out.println(is);
//题目:创建10个文件,文件名由1到10,如果文件存在则不需要重复创建 for (int a=1;a<=10;a++){ //定义文件名 String fileName = a + ".txt";//字符串拼接 // 定义文件目录,你定义的那个目录之后你创建的文件就在那个目录 String file目录 = "C:\\Users\\admin\\Desktop\\新创建的文件\\";//你们用英文 //文件路径 String file文件路径 = file目录+fileName; System.out.println(file文件路径); //访问文件 File file1 = new File(file文件路径); //检查文件是否存在,不存在创建 if (file1.exists()){ System.out.println("该文件"+fileName+"已经存在"); }else { System.out.println("文件不存在创建"); //不存在就创建 file1.createNewFile(); } //简化 for (int i=1;i<=10;i++){ //访问文件 File file2 = new File("C:\\Users\\admin\\Desktop\\新创建的文件\\"+ i + ".txt"); //检查是否存在,这一步检查可不写直接创建也行:file1.createNewFile();新创建文件不会覆盖掉原有文件,py会覆盖 if (!file1.exists()){ file2.createNewFile(); } }
File dir3 = new File("C:\\Users\\admin\\Desktop\\新创建的文件"); //创建单级文件夹,文件上一级目录必须存在,不存在不会报错但是不会创建 dir.mkdir(); //创建多级文件夹 dir1.mkdirs(); //判断是否是一个目录 boolean a = dir1.isDirectory(); //获取目录的所有子项 File[] subs = dir3.listFiles(); for (File sub : subs) { System.out.println(sub.getName()); } //删除文件或目录,如果删除的是目录,该目录下不能存在任何内容,不然删除不了 dir1.delete();
-
过滤器
//过滤器FileFilter FileFilter fileFilter = new FileFilter() { @Override public boolean accept(File file) { String name = file.getName(); return name.endsWith(".txt"); } }; //获取目录的所有子项 File[] subs1 = dir3.listFiles(fileFilter); for (File sub : subs1) { System.out.println(sub.getName()); } 简化 File[] subs1 = dir3.listFiles((File file) ->{ String name = file.getName(); return file.getName().endsWith(".txt"); });