33.File类

File类

1.File类的概述和构造方法
  • A:File类的概述

    • File更应该叫做一个路径
      • 文件路径或者文件夹路径
      • 路径分为绝对路径和相对路径
      • 绝对路径是一个固定的路径,从盘符开始
      • 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下
    • 查看API指的是当前路径
    • 文件和目录路径名的抽象表示形式
  • B:构造方法

    • File(String pathname):根据一个路径得到File对象
    • File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
    • File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对??
  • C:案例演示

package heima_day19;
import java.io.File;
public class Demo3_File {

     public static void main(String[] args) {

           File file = new File("F:\\项目\\电子文档");//文件的路径

           System.out.println(file.exists());

           

           File file1 = new File("xxx.txt");

           System.out.println(file1.exists());

           

           String parent = "F:\\项目";

           String child = "电子文档";

           File file2 = new File(parent,child);

           System.out.println(file2.exists());

           

           File parent1 =new File("F:\\项目\\电子文档");

           String child1 = "第10章  手机网络游戏.pdf";

           File file3 = new File(parent1,child1);

           System.out.println(file3.exists());

     }



}
2.File类的创建功能
  • A:创建功能

    • public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
    • public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
    • public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
  • B:案例演示

package heima_day19;
import java.io.File;
import java.io.IOException;

public class Demo4_File {
	/**
	 * 注意事项:
		* 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
	 */
	public static void main(String[] args)throws IOException {
		File file = new File("yyy.txt");
		System.out.println(file.createNewFile());//如果没有就创建,返回true
		
		File dir1 = new File("aaa");
		System.out.println(dir1.mkdir());
		
		File dir2 = new File("bbb\\ccc");
		System.out.println(dir2.mkdirs());
	}

}

3.File类的重命名和删除功能
  • A:重命名和删除功能
    • public boolean renameTo(File dest):把文件重命名为指定的文件路径
    • public boolean delete():删除文件或者文件夹
  • B:重命名注意事项
    • 如果路径名相同,就是改名。
    • 如果路径名不同,就是改名并剪切。
  • C:删除注意事项:
    • Java中的删除不走回收站。
    • 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
  • D:案例演示
package heima_day19;
import java.io.File;
public class Demo5_File {

     public static void main(String[] args) {
           File file1 = new File("yyy.txt");
           File file2 = new File("aaa.txt");
           //System.out.println(file1.renameTo(file2));       
           System.out.println(file2.delete());
           //如果删除一个文件夹,那么文件夹必须是空的
     }
}
4.File类的判断功能
  • A:判断功能

    • public boolean isDirectory():判断是否是目录
    • public boolean isFile():判断是否是文件
    • public boolean exists():判断是否存在
    • public boolean canRead():判断是否可读
    • public boolean canWrite():判断是否可写
    • public boolean isHidden():判断是否隐藏
  • B:案例演示

package heima_day19;
import java.io.File;
public class Demo6_File {
     public static void main(String[] args) {

           File dir1 = new File("aaa");
           File dir2 = new File("ooo.txt");     
         
           System.out.println(dir1.isDirectory());//判断是否是文件夹
           System.out.println(dir2.isDirectory());        
           System.out.println(dir1.isFile());//判断是否是文件
           System.out.println(dir2.isFile());
           System.out.println("----");
           dir2.setReadable(false);//设置文件是否可读
           System.out.println(dir2.canRead());//windows系统认为所有文件都是可读的
           dir2.setWritable(false);
           System.out.println(dir2.canWrite());//windows系统可以设置为不可写
           System.out.println(dir2.isHidden());//判断是否隐藏
     }
}

5.File类的获取功能
  • A:获取功能

    • public String getAbsolutePath():获取绝对路径
    • public String getPath():获取路径
    • public String getName():获取名称
    • public long length():获取长度。字节数
    • public long lastModified():获取最后一次的修改时间,毫秒值
    • public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
    • public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
  • B:案例演示

package heima_day19;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo7_File {
	public static void main(String[] args) {
		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("-----");
		System.out.println(file.lastModified());//获取最后一次的修改时间,毫秒值
		Date d = new Date(file.lastModified());
		System.out.println(d);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		System.out.println(sdf.format(d));
		System.out.println("-----");
		File dir = new File("bbb");
		String[] arr = dir.list();
		for (String string : arr) {
			System.out.println(string);
		}
		File []  subFiles = dir.listFiles();
		for (File file2 : subFiles) {
			System.out.println(file2);
		}
	}
}

6.文件名称过滤器的概述及使用
  • A:文件名称过滤器的概述
    • public String[] list(FilenameFilter filter)
    • public File[] listFiles(FileFilter filter)
  • B:文件名称过滤器的使用
    • 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
  • C:源码分析
    • 带文件名称过滤器的list()方法的源码
  • D:案例演示
package heima_day19;
import java.io.File;
public class Demo8_File {
     public static void main(String[] args) {
           //String[] <u>arr</u> = dir.list(new filenameFileter() {
           //   @Override
                //   public boolean accept(File <u>dir</u>,String 
name) {
                     //return true;
                //}
           //});
     }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值