java学习笔记:File文件类

在这里插入图片描述
1、File类的构造方法

案例演示
	1. File file = new File("D:\\学习资料\\java学习笔记.txt") ;//根据一个路径得到File对象    
	2. File file2 = new File("D:\\学习资料" , "java学习笔记.txt") ;//根据一个目录和一个子文件得到File对象
	3. File file3 = new File("D:\\学习资料") ;
	   File file4 = new File(file3 , "java学习笔记.txt") ;//根据一个父File对象和一个子文件得到File对象

2、File类的创建功能

	案例演示
public class MyDemo {
    public static void main(String[] args) {
        File file = new File("D:\\myTest");
         file.createNewFile();//创建文件
        //创建目录,第一次创建,如果创建成功返回true,如果目录已经存在,则不会重复创建,返回false
        boolean b = file.mkdir(); //只能创建单级目录
        File file1 = new File("D:\\myjava\\bbb\\ccc");
        boolean mkdirs = file1.mkdirs();//创建单级或多级目录
    }
}  
    注意事项:如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
    		相对路径:没有带盘符的路径
    		绝对路径:带有盘符的路径

3、File类的删除功能

	public boolean delete():删除文件或者文件夹 
	注意:a.删除文件夹时 这个文件夹是空文件夹 如果这个文件夹里面有文件,则不能删除
	      b.Java中的删除不走回收站。要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹

4、File类的重命名功能

		public boolean renameTo(File dest):把文件重命名为指定的文件路径
	  案例演示
public class MyTest {
    public static void main(String[] args) {
        重命名:如果调用renameTo(File dest); 传入的文件路径和源文件路径一样,则是重命名
        File file = new File("e.txt");
        boolean b = file.renameTo(new File("ee.txt")); //返回值是是否重命名成功
        System.out.println(b);
        File file = new File("f.txt");
        重命名如果调用renameTo(File dest); 传入的文件路径和源文件路径不一样,则是剪切重命名
        boolean a = file.renameTo(new File("D:\\f.txt"));
        System.out.println(a);
    }
}	

5、File类的判断功能

案例演示
public class MyDemo {
   public static void main(String[] args) throws IOException {
    File file = new File("a.txt");
    file.createNewFile();
    boolean b = file.isDirectory();//判断是否是目录
    System.out.println(b);
    boolean b1= file.isFile();//判断是否是文件
    System.out.println(b1);
    boolean b2 = file.exists();//判断是否存在
    System.out.println(b2);
    boolean b3 = file.canRead();//判断是否可读
    System.out.println(b3);
    boolean b4 = file.canWrite();//判断是否可写
    System.out.println(b4);
    boolean b5 = file.isHidden();//:判断是否隐藏
    System.out.println(b5);
 }
}

6、File类的获取功能

案例演示
public class MyDemo2 {
  public static void main(String[] args) throws IOException {
    //有关于获取的方法
    File file = new File("a.txt");
    file.createNewFile();
    //获取文件名
    String name = file.getName();
    System.out.println(name);
    //获取文件大小
    long length = file.length();
    System.out.println(length);
    File file1 = new File("D:\\test.exe");
    String absolutePath = file1.getAbsolutePath();//返回的是绝对路劲的字符串表现形式
    System.out.println(absolutePath);
    File file2 = file1.getAbsoluteFile();//返回的是文件形式
    System.out.println(file2.toString());
    File file3 = new File("b.txt");
    String path = file3.getPath(); //获取相对路径
    System.out.println(path);
    File file4 = new File("D:\\", "test.exe");
    //获取父路径
    String parent = file4.getParent();
    System.out.println(parent);
    File parentFile = file4.getParentFile();
    System.out.println(parentFile.toString());
      File file5 = new File("D:\\");
    //获取该空间的总容量,单位是字节
    long totalSpace = file5.getTotalSpace();
    System.out.println(totalSpace/1024/1024/1024+"G");
    //获取该空间的剩余容量
    long freeSpace = file5.getFreeSpace();
    System.out.println(freeSpace/ 1024.0 / 1024.0 / 1024.0 + "G");

7、输出指定目录下指定后缀的文件名

案例演示:	需求:判断D盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
        分析:
	a: 把D:\\demo这个路径封装成一个File对象
	b: 获取该路径下所有的文件或者文件夹对应的File数组
	c: 遍历这个数组,进行判断
 public class MyDemo {
    public static void main(String[] args) {
        File file = new File("D:\\我的图片和音乐\\图片");
        File[] files = file.listFiles();
        for (File f : files) {
            if(f.isFile()&&f.getName().endsWith(".jpg")){
                System.out.println(f.getName);
            }
        }
      }
    }

8、文件名称过滤器的概述及使用

文件名称过滤器的概述
		public String[] list(FilenameFilter filter)
		public File[] listFiles(FilenameFilter filter)
文件名称过滤器的使用:	需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称 
 		 分析:
  		a: 把E:\\demo这个路径封装成一个File对象
 		b: 获取所有的以.jpg结尾的文件数组		(相当于过滤)
 		c: 遍历数组     	
	public class MyTest2 {
    public static void main(String[] args) {
        File file = new File("D:\\图片");
        //获取该目录下所有的文件和文件夹
        //这个方法里面可传递一个过滤器,可以过滤符合要求的文件
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File file1 = new File(dir, name);
          /**
		   * dir: 表示的当前文件对应的父文件
	       * name: 就是每一个文件对应的名称
	       */
                if (file1.isFile() && file1.getName().endsWith(".jpg")) {
                    return true;
                } else {
                    return false;
                }
            }
        });
        for (File file1 : files) {
         String path = file1.getAbsolutePath();
          System.out.println(path);
          }
    }
}
发布了24 篇原创文章 · 获赞 11 · 访问量 2053

猜你喜欢

转载自blog.csdn.net/weixin_43791069/article/details/86533290