package com.heima.file; import java.io.File; public class Demo1_File { /** * File(String pathname):根据一个路径获得File对象 * File(String parent, String child):根据一个目录和一个子文件/目录获得File对象 * File(File parent, String child):根据一个父File对象和一个子文件/目录获得File对象 */ public static void main(String[] args) { //demo1(); //demo2(); File parent = new File("F:\\双元课堂\\day19\\video"); String child = "001_今日内容.avi"; File file = new File(parent, child); System.out.println(file.exists()); System.out.println(parent.exists()); } public static void demo2() { String parent = "F:\\双元课堂\\day19\\video"; String child = "001_今日内容.avi"; File file = new File(parent,child); System.out.println(file.exists()); } public static void demo1() { File file = new File("F:\\双元课堂\\day19\\video\\001_今日内容.avi"); System.out.println(file.exists()); File file2 = new File("xxx.txt"); System.out.println(file2.exists()); File file3 = new File("yyy.txt"); System.out.println(file3.exists()); } }
B:案例演示java
File类的建立功能编程
注意事项:windows
package com.heima.file; import java.io.File; import java.io.IOException; public class Demo2_FileMethod { public static void main(String[] args) throws IOException { //demo1(); File dir1 = new File("aaa"); System.out.println(dir1.mkdir()); File dir2 = new File("bbb.txt"); //这样写是能够的,文件夹也是能够有后缀的 System.out.println(dir2.mkdir()); File dir3 = new File("ccc\\ddd"); System.out.println(dir3.mkdirs()); //建立多级目录 } public static void demo1() throws IOException { File file = new File("yyy.txt"); System.out.println(file.createNewFile()); //若是没有就建立,返回true File file2 = new File("zzz"); System.out.println(file2.createNewFile()); } }
package com.heima.file; import java.io.File; public class Demo3_FileMethod { public static void main(String[] args) { //demo1(); File file1 = new File("yyy.txt"); System.out.println(file1.delete()); File file2 = new File("aaa"); System.out.println(file2.delete()); File file3 = new File("ccc"); //若是删除一个文件夹,那么文件夹必须是空的 System.out.println(file3.delete()); } public static void demo1() { File file1 = new File("ooo.txt"); File file2 = new File("D:\\xxx.txt"); System.out.println(file1.renameTo(file2)); } }
package com.heima.file; import java.io.File; public class Demo4_FileMethod { /** 案例演示 * File类的判断功能 */ public static void main(String[] args) { //demo1(); File file = new File("zzz"); file.setReadable(false); System.out.println(file.canRead()); //windows系统认为全部的文件都是可读的 file.setWritable(true); System.out.println(file.canWrite()); //windows系统能够设置为不可写 File file2 = new File("aaa.txt"); System.out.println(file2.isHidden()); //判断是不是隐藏文件 System.out.println(file.isHidden()); } public static void demo1() { File dir1 = new File("ccc"); System.out.println(dir1.isDirectory()); //判断是不是文件夹 File dir2 = new File("zzz"); System.out.println(dir2.isDirectory()); System.out.println(dir1.isFile()); //判断是不是文件 System.out.println(dir2.isFile()); } }
package com.heima.file; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class Demo5_FileMethod { /** * * A:获取功能 * public String getAbsolutePath():获取绝对路径 * public String getPath():获取路径 * public String getName():获取名称 * public long length():获取长度。字节数 * public long lastModified():获取最后一次的修改时间,毫秒值 * public String[] list():获取指定目录下的全部文件或者文件夹的名称数组 * public File[] listFiles():获取指定目录下的全部文件或者文件夹的File数组 */ public static void main(String[] args) { //demo1(); File dir = new File("F:/双元课堂/day19/video"); String[] arr = dir.list(); //仅为了获取文件名 for (String string : arr) { System.out.println(string); } File[] subFiles = dir.listFiles(); for (File file : subFiles) { //获取文件对象 System.out.println(file); } } public static void demo1() { File file1 = new File("ccc.txt"); File file2 = new File("D:\\双元课堂\\day19\\ccc.txt"); //System.out.println(file1.getAbsolutePath()); //获取绝对路径 //System.out.println(file2.getAbsolutePath()); //System.out.println(file1.getPath()); //获取构造方法中传入路径 //System.out.println(file2.getPath()); // System.out.println(file1.getName()); //获取文件或者文件的名字 // System.out.println(file2.getName()); // // System.out.println(file1.length()); Date d = new Date(file1.lastModified()); //文件的最后修改时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); System.out.println(sdf.format(d)); } }
package com.heima.test; import java.io.File; import java.io.FilenameFilter; public class Test3 { /** * @param args * * A:案例演示 * 需求:判断E盘目录下是否有后缀名为.jpg的文件,若是有,就输出该文件名称 */ public static void main(String[] args) { File dir = new File("E:\\"); // String[] arr = dir.list(); //获取e盘下全部的文件或文件夹 // for (String string : arr) { // if(string.endsWith(".jpg")) { // System.out.println(string); // } // } /*File[] subFiles = dir.listFiles(); //获取e盘下全部的文件或文件夹对象 for (File subFile : subFiles) { if(subFile.isFile() && subFile.getName().endsWith(".jpg")) { System.out.println(subFile); } }*/ String[] arr = dir.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { //System.out.println(dir); //System.out.println(name); File file = new File(dir, name); return file.isFile() && file.getName().endsWith(".jpg"); } }); for (String string : arr) { System.out.println(string); } } }
一、本身设计1-2个需求,并完成该需求!需求中应尽量包含File类的建立、判断、删除、获取! 课后由导师随机抽查! 二、使用文件过滤器筛选将指定文件夹下的小于200K的小文件,并打印! package cn.itcast; import java.io.File; import java.io.FilenameFilter; /* * 需求:二、使用文件过滤器筛选将指定文件夹下的小于200K的小文件,并打印! */ public class homework2 { public static void main(String[] args) { File file = new File("A"); String names[] = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { File newFile = new File(dir, name); // 在一些时候咱们不能等着程序给咱们显示结果,而是在编程的过程当中,也要对一些细节进行检验,以下一步就是为了确保获得单位为k的文件的数据大小 // System.out.println(newFile.length()/1024); return (newFile.length() / 1024 < 200) ? true : false; } }); for (String name : names) { System.out.println(name); } } }