File对象

1.File的介绍

File 类 就是当前系统中 文件或者文件夹的抽象表示

通俗的讲 就是 使用File对象 来操作我们电脑系统中的文件或者文件夹

学习File类 其实就是学习 如果通过file对象 对系统中的文件/文件夹进行增删改查

2.创建File对象

		 //创建一个File对象 并指定文件的路径 \转义字符
       	 File file = new File("D:\\aaa");
         /*
           \\目录层级  在window系统下层级分割符为\  但是在linux和mac系统上分割符为 /
           我们得java代码是一种跨平台得语言。 我们得开发在window  但是我们项目得部署在linux.
           我们使我们得代码能在任意系统下来用。 我们有两种解决办法
           (1)第一种 因为window 兼容 / 和 \
         */
        File file1 = new File("D:/aaa/bbb.txt");
        //第二种 File.separator 根据当前代码所在的系统自动获取相应的分隔符
        File file2 = new File("D:"+File.separator+"aaa"+File.separator+"bbb");

3.Flie的添加操作

			 File file = new File("D:\\aaa");
			 File file1 = new File("D:/aaa/bbb.txt");
			 File file2 = new File("D:"+File.separator+"aaa"+File.separator+"bbb");
			 //创建目录 make directory 单层目录
	        file.mkdir();
	        //创建相应的文件  这里需要抛出异常
	        file1.createNewFile();
	        //创建多层目录
	        file2.mkdirs();

4.File的删除操作

 			File file = new File("D:\\aaa");
			 File file1 = new File("D:/aaa/bbb.txt");
			 File file2 = new File("D:"+File.separator+"aaa"+File.separator+"bbb");
			 //创建目录 make directory 单层目录
	        file.mkdir();
	        //创建相应的文件  这里需要抛出异常
	        file1.createNewFile();
	        //创建多层目录
	        file2.mkdirs();
	         //删除文件
	        file1.delete();
	        //删除空目录
	        file2.delete();
	        //等程序退出后删除
	        file.deleteOnExit();
	        //休眠10秒
	        Thread.sleep(1000);

5.File的修改操作

		File file = new File("D:/aaa/c.txt");
        File file1 = new File("D:/aaa");
        file1.mkdir();
        file.createNewFile();
        //设置该文件的权限为不能读
        file.setReadable(false);
        //设置该文件的权限为不能写
        file.setWritable(false);
        //设置该文件的权限为只读
        file.setReadOnly();
        //重命名
        file.renameTo(new File("D:/aaa/d.txt"));

6.File的查询操作

        File file = new File("D:/aaa/bbb/ccc");
        File file1 = new File("D:/aaa/bbb/ccc/d.txt");
        file.mkdirs();
        file1.createNewFile();
        //得到文件的名称
        String name = file.getName();
        System.out.println(name);
        //得到文件的父级路径的名称
        String parent = file.getParent();
        System.out.println(parent);
        //得到文件的路径名称
        String path = file.getPath();
        System.out.println(path);
        //判断该文件对象是否是文件类型
        boolean b = file.isFile();
        System.out.println(b);
        //判断该文件对象是否是目录类型
        boolean f = file.isDirectory();
        System.out.println(f);
        File file2 = new File("D:/AAA");
        //列出指定目录下所有的子文件的名称
        String[] str = file2.list();
        System.out.println(Arrays.toString(str));
        File[] files = file2.listFiles();
        for(File o:files){
            System.out.println(o);
        }

7.经典题目: File方法的递归调用。

		public class Test5 {
		    public static void main(String[] args) {
		            showAllFiles("D:/aaa");
		    }
		   static void showAllFiles(String path){
		       //使用传入的路径构建文件对象
		        File file = new File(path);
		       //判断文件是否存在 或者文件是否为目录.
		        if(!file.exists()||!file.isDirectory()){
		            return;
		        }
		       //列出该目录下所有的文件对象。
		        File[] files = file.listFiles();
		       //遍历数组
		        for (File f:files){
		            //判断时候还是目录
		            if(f.isDirectory()){
		                System.out.println(f.getPath()+"    Dir");
		                //继续调用本方法
		                showAllFiles(f.getPath());
		            }else{
		                System.out.println(f.getPath()+"   ");
		            }
		        }
		    }
		}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值