zoukankan      html  css  js  c++  java
  • Android(java)学习笔记26:File类的使用

    1. File类的使用 

     1 package cn.itcast_01;
     2 
     3 import java.io.File;
     4 
     5 /*
     6  * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式。
     7  * 而Java就提供了一个类File供我们使用。
     8  * 
     9  * File:文件和目录(文件夹)路径名的抽象表示形式
    10  * 构造方法:
    11  *         File(String pathname):根据一个路径得到File对象
    12  *         File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
    13  *         File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
    14  */
    15 public class FileDemo {
    16     public static void main(String[] args) {
    17         // File(String pathname):根据一个路径得到File对象
    18         // 把e:\demo\a.txt封装成一个File对象
    19         File file = new File("E:\demo\a.txt");
    20 
    21         // File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
    22         File file2 = new File("E:\demo", "a.txt");
    23 
    24         // File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
    25         File file3 = new File("e:\demo");
    26         File file4 = new File(file3, "a.txt");
    27 
    28         // 以上三种方式其实效果一样
    29     }
    30 }

    上面提到的文件是不存在的,

    E:\demo\a.txt"  接下来我们就是学习调用类方法来创建
     1 package cn.itcast_02;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 
     6 /*
     7  *创建功能:
     8  *public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
     9  *public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
    10  *public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
    11  *
    12  *骑白马的不一定是王子,可能是班长。
    13  *注意:你到底要创建文件还是文件夹,你最清楚,方法不要调错了。
    14  */
    15 public class FileDemo {
    16     public static void main(String[] args) throws IOException {
    17         // 需求:我要在e盘目录下创建一个文件夹demo
    18         File file = new File("e:\demo");
    19         System.out.println("mkdir:" + file.mkdir());
    20 
    21         // 需求:我要在e盘目录demo下创建一个文件a.txt
    22         File file2 = new File("e:\demo\a.txt");
    23         System.out.println("createNewFile:" + file2.createNewFile());
    24 
    25         // 需求:我要在e盘目录test下创建一个文件b.txt
    26         // Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
    27         // 注意:要想在某个目录下创建内容,该目录首先必须存在。
    28         // File file3 = new File("e:\test\b.txt");
    29         // System.out.println("createNewFile:" + file3.createNewFile());
    30 
    31         // 需求:我要在e盘目录test下创建aaa目录
    32         // File file4 = new File("e:\test\aaa");
    33         // System.out.println("mkdir:" + file4.mkdir());
    34 
    35         // File file5 = new File("e:\test");
    36         // File file6 = new File("e:\test\aaa");
    37         // System.out.println("mkdir:" + file5.mkdir());
    38         // System.out.println("mkdir:" + file6.mkdir());
    39 
    40         // 其实我们有更简单的方法
    41         File file7 = new File("e:\aaa\bbb\ccc\ddd");
    42         System.out.println("mkdirs:" + file7.mkdirs());
    43 
    44         // 看下面的这个东西:
    45         File file8 = new File("e:\liuyi\a.txt");
    46         System.out.println("mkdirs:" + file8.mkdirs());
    47     }
    48 }

    下面说明一下删除功能

     1 package cn.itcast_03;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 
     6 /*
     7  * 删除功能:public boolean delete()
     8  * 
     9  * 注意:
    10  *         A:如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
    11  *         B:Java中的删除不走回收站。
    12  *         C:要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
    13  */
    14 public class FileDemo {
    15     public static void main(String[] args) throws IOException {
    16         // 创建文件
    17         // File file = new File("e:\a.txt");
    18         // System.out.println("createNewFile:" + file.createNewFile());
    19 
    20         // 我不小心写成这个样子了
    21         File file = new File("a.txt");
    22         System.out.println("createNewFile:" + file.createNewFile());
    23 
    24         // 继续玩几个
    25         File file2 = new File("aaa\bbb\ccc");
    26         System.out.println("mkdirs:" + file2.mkdirs());
    27 
    28         // 删除功能:我要删除a.txt这个文件
    29         File file3 = new File("a.txt");
    30         System.out.println("delete:" + file3.delete());
    31 
    32         // 删除功能:我要删除ccc这个文件夹
    33         File file4 = new File("aaa\bbb\ccc");
    34         System.out.println("delete:" + file4.delete());
    35 
    36         // 删除功能:我要删除aaa文件夹
    37         // File file5 = new File("aaa");
    38         // System.out.println("delete:" + file5.delete());
    39 
    40         File file6 = new File("aaa\bbb");
    41         File file7 = new File("aaa");
    42         System.out.println("delete:" + file6.delete());
    43         System.out.println("delete:" + file7.delete());
    44     }
    45 }

    下面再来介绍重命名的功能

     1 package cn.itcast_04;
     2 
     3 import java.io.File;
     4 
     5 /*
     6  * 重命名功能:public boolean renameTo(File dest)
     7  *         如果路径名相同,就是改名。
     8  *         如果路径名不同,就是改名并剪切。
     9  * 
    10  * 路径以盘符开始:绝对路径    c:\a.txt
    11  * 路径不以盘符开始:相对路径    a.txt
    12  */
    13 public class FileDemo {
    14     public static void main(String[] args) {
    15         // 创建一个文件对象
    16         // File file = new File("林青霞.jpg");
    17         // // 需求:我要修改这个文件的名称为"东方不败.jpg"
    18         // File newFile = new File("东方不败.jpg");
    19         // System.out.println("renameTo:" + file.renameTo(newFile));
    20 
    21         File file2 = new File("东方不败.jpg");
    22         File newFile2 = new File("e:\林青霞.jpg");
    23         System.out.println("renameTo:" + file2.renameTo(newFile2));
    24     }
    25 }

    接下来我们说明一下file的判断功能

     1 package cn.itcast_05;
     2 
     3 import java.io.File;
     4 
     5 /*
     6  * 判断功能:
     7  * public boolean isDirectory():判断是否是目录
     8  * public boolean isFile():判断是否是文件
     9  * public boolean exists():判断是否存在
    10  * public boolean canRead():判断是否可读
    11  * public boolean canWrite():判断是否可写
    12  * public boolean isHidden():判断是否隐藏
    13  */
    14 public class FileDemo {
    15     public static void main(String[] args) {
    16         // 创建文件对象
    17         File file = new File("a.txt");
    18 
    19         System.out.println("isDirectory:" + file.isDirectory());// false
    20         System.out.println("isFile:" + file.isFile());// true
    21         System.out.println("exists:" + file.exists());// true
    22         System.out.println("canRead:" + file.canRead());// true
    23         System.out.println("canWrite:" + file.canWrite());// true
    24         System.out.println("isHidden:" + file.isHidden());// false
    25     }
    26 }

    我们来说一下file类的获取功能

     1 package cn.itcast_06;
     2 
     3 import java.io.File;
     4 import java.text.SimpleDateFormat;
     5 import java.util.Date;
     6 
     7 /*
     8  * 获取功能:
     9  * public String getAbsolutePath():获取绝对路径
    10  * public String getPath():获取相对路径
    11  * public String getName():获取名称
    12  * public long length():获取长度。字节数
    13  * public long lastModified():获取最后一次的修改时间,毫秒值
    14  */
    15 public class FileDemo {
    16     public static void main(String[] args) {
    17         // 创建文件对象
    18         File file = new File("demo\test.txt");
    19 
    20         System.out.println("getAbsolutePath:" + file.getAbsolutePath());
    21         System.out.println("getPath:" + file.getPath());
    22         System.out.println("getName:" + file.getName());
    23         System.out.println("length:" + file.length());
    24         System.out.println("lastModified:" + file.lastModified());
    25 
    26         // 1416471971031
    27         Date d = new Date(1416471971031L);
    28         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    29         String s = sdf.format(d);
    30         System.out.println(s);
    31     }
    32 }

    上面的执行结果如下:

    file类的高级获取功能

     1 package cn.itcast_07;
     2 
     3 import java.io.File;
     4 
     5 /*
     6  * 获取功能:
     7  * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
     8  * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
     9  */
    10 public class FileDemo {
    11     public static void main(String[] args) {
    12         // 指定一个目录
    13         File file = new File("e:\");
    14 
    15         // public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
    16         String[] strArray = file.list();
    17         for (String s : strArray) {
    18             System.out.println(s);
    19         }
    20         System.out.println("------------");
    21 
    22         // public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
    23         File[] fileArray = file.listFiles();
    24         for (File f : fileArray) {
    25             System.out.println(f.getName());
    26         }
    27     }
    28 }
  • 相关阅读:
    Microsoft To-Do无法同步问题 ke xue上网导致
    学习希尔排序
    查找docker无法启动的原因
    挂载只读分区为可读写
    批量重建索引脚本
    frp nginx 80 端口共用
    vue部署nginx 404
    阿里云服务器,数据库热备、暖备、冷备实战-镜像篇(域环境下配置)
    码农老婆的网店
    Wcf调用方式
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4527139.html
Copyright © 2011-2022 走看看