小言_互联网的博客

Java简单基础的复习(十二)File类

476人阅读  评论(0)

File类的概述

  1. File类的概述
    • File更应该叫做一个路径
      • 文件路径或者文件夹路径
      • 路径分为绝对路径和相对路径
      • 绝对路径是一个固定的路径,从盘符开始
      • 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下
    • 查看API指的是当前路径
    • 文件和目录路径名的抽象表示形式
  2. 构造方法
    • File(String pathname):根据一个路径得到File对象
    • File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
    • File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
  3. 案例演示
		//path等于路径,file等于文件名
		File file  = new  File(path);
		File file  = new  File(path,file);
		File parent  = new  File(path);
		File file = new File(parent,file);
		System.out.println(file.exists());
		System.out.println(file.exists());

File的创建功能

  1. 创建功能
    • public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
    • public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
    • public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
    • 注意事项:
      • 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
  2. 案例演示
		File file = new File(file);
		System.out.println(file.createNewFile());
		File file2 = new File("zzz.txt");
		System.out.println(file2.mkdir());

File类的重命名和删除功能

  1. 重命名和删除功能
    • public boolean renameTo(File dest):把文件重命名为指定的文件路径
      • 如果路径名相同,就是改名。
      • 如果路径名不同,就是改名并剪切。
    • public boolean delete():删除文件或者文件夹
      • Java中的删除不走回收站。
      • 要删除一个文件夹(一般先删除里面的文件,再删除文件夹),请注意该文件夹内不能包含文件或者文件夹
  2. 代码演示:
		//file1,file2是字符串
		File file1 = new File(file1);
		file1.createNewFile();
		File file2 = new File(file2);
		System.out.println(file1.renameTo(file2));
		file1.delete();

File类的判断功能

  1. 判断功能
    • public boolean isDirectory():判断是否是目录
    • public boolean isFile():判断是否是文件
    • public boolean exists():判断是否存在
    • public boolean canRead():判断是否可读
    • public boolean canWrite():判断是否可写
    • public boolean isHidden():判断是否隐藏
  2. 案例演示
		File file1 = new File("zzz.txt");
		File file2 = new File("ooo.txt");
		System.out.println(file1.isDirectory());
		System.out.println(file2.isFile());
		System.out.println(file1.exists());
		System.out.println(file2.canRead());
		System.out.println(file2.canWrite());
		System.out.println(file2.isHidden());

File类的获取功能

  1. 获取功能
    • public String getAbsolutePath():获取绝对路径
    • public String getPath():获取路径
    • public String getName():获取名称
    • public long length():获取长度。字节数
    • public long lastModified():获取最后一次的修改时间,毫秒值
    • public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
    • public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
  2. 案例演示:
		File file = new File("ooo.txt");
		System.out.println(file.getAbsolutePath());
		System.out.println(file.getPath());
		System.out.println(file.getName());
		System.out.println(file.length());
		System.out.println(file.lastModified());
		File file2 = new File("E:\\新建文件夹");
		String[] lists = file2.list();
		for (String string : lists) {
			System.out.println(string);
		}
		File[] list = file2.listFiles();
		for (File file : list) {
			System.out.println(file.getName());
		}
		Date date = new Date(file.lastModified());
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		System.out.println(sdf.format(date));

File的小案例

		//判断E盘目录下是否有后缀名为.txt的文件,如果有,就输出该文件名称
		File file = new File("E:\\");
		File[] files = file.listFiles();
		for (File file2 : files) {
			if(file2.isFile()&&file2.getName().contains(".txt"))
				System.out.println(file2.getName());
		}

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

  1. 文件名称过滤器的概述
    • public String[] list(FilenameFilter filter)
    • public File[] listFiles(FileFilter filter)
  2. 文件名称过滤器的使用
    • 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
  3. 代码
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);
		}

转载:https://blog.csdn.net/qq_41816516/article/details/106305188
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场