为了怕混淆,先说明一些下面要出现的名词意思:
例如:D:\\新建文件夹 (2)\\a.txt 和  D:\\新建文件夹 (2)\\aaaa

D:\\新建文件夹 (2)   父路径
    a.txt          子文件
    aaaa           子文件夹

创建:

  创建子文件:
    createNewFile()    如果在指定位置创建一个空子文件,如果在此父路径已存在此子文件返回false,如果没有那么创建一个,并返回true
        public boolean createNewFile()
               throws IOException
  创建子文件夹:  
    mkdir()      
        根据所给的父路径创建所给父路径中不存在的子文件夹,成功true,失败false
        注意:
            1.不能创建多个子文件夹,也就是所给的路径只有一个子文件夹是不存在的
            2.只能创建文件夹,不能创建文件,就算给a.txt,他也是a.txt文件夹
            
    mkdirs()    
        根据所给的父路径创建所给父路径中所有不存在的子文件夹,成功true,失败false
        注意:
            1.能创建多个文件夹
            2.只能创建文件夹,不能创建文件,就算给a.txt,他也是a.txt文件夹
            
    renameTo(File dest)  
        操作子文件夹:
            如果调用者的父路径和参数的父路径一样,那么就是调用者的子文件夹名字覆盖原文件夹名字并返回true(重命名)
            如果调用者的父路径和参数的父路径不一样,那么会操作失败返回false(剪切不能操作文件夹)           
        操作子文件:
           如果调用者的父路径和父参数的路径一样,那么就是重命名
           如果调用者的父路径和参数的父路径不一样,那么就是剪切(注意:如果名字也不相同,那么就是重命名加剪切)
   
删除:
    delete()  
        删除此抽象父路径名表示的空子文件夹或者子文件,成功true失败false
        
    deleteOnExit()
        在虚拟机终止时,请求删除此抽象路径名表示的文件夹或文件。无返回值
    
    注意:第一个删除是执行了删除语句后,立刻会删除。而第二个是执行了删除语句不会被删除,只有当jvm退出时才会删除
    例如:网易音乐中我们可以试听(缓存),试听的时候文件是下载下来了,当我们退出网易云后,我们试听的文件会删除,
    这样是为了保证内存不会被浪费,打开网易云的时候不会加载这么多数据,启动不会变慢
   
获取:
    抽象路径要父路径+子文件或者子文件夹(父路径可以不真实存在):
        getName()      返回由此抽象路径名表示的文件夹或文件的名称。(返回子文件夹或者子文件名)
        getParent()     返回此抽象路径名表示的父路径名;如果此路径名没有指定父路径,则返回 null。
        getPath()      返回此抽象路径名的绝对路径名字符串(返回父路径名+子文件或者子文件夹名)。
        getAbsolutePath() 返回此抽象路径名的绝对路径名字符串(返回父路径名+子文件或者子文件夹名)。
        lastModified()   如果在此路径下存在此文件或者文件夹,那么返回的是最后一次修改的时间,如果不存在那么返回的是0
        length()      返回由此抽象路径名表示的子文件大小(字节),如果此路径下存在此子文件,那么返回子文件的字节大小,如果不存在那么返回0
       
    抽象路径要父路径(并且父路径要真实存在,否者会报空指针异常):  
       不可以接受过滤器:
        list()    返回一个字符串数组,这些字符串指定此抽象路径名表示的子文件名和子文件夹名
        listFiles() 返回一个File类型的数组,这些字符串指定此抽象路径名表示的父路径+子文件和子文件夹
        listRoots() 返回一个File类型的数组,列出可用的文件系统根。(比如:盘符)
       可以接受过滤器:
        list(FilenameFilter filter)接受一个过滤器并返回字符串数组,过滤器返回true就存入数组,返回false就不存入(数组存储的是子文件或者子文件夹名)
        listFiles(FileFilter filter)接受一个过滤器并返回字符串数组,过滤器返回true就存入数组,返回false就不存入(数组存储的是父路径+子文件或者子文件夹名)

自定义过滤器:
        创建一个类并实现FilenameFilter接口中的accept方法,accept方法中写过滤代码
        例如:
            class MyFilter implements FilenameFilter{
                public boolean accept(File dir, String name){
                    //过滤代码
                }
            }
        dir : 表示父路径
        name: 表示子文件或者子文件夹

下面是一些实例:

创建:

public class Demo2 {
public static void main(String[] args) throws IOException {
//在D:\\新建文件夹 (2)下创建一个a.txt的文件
File file = new File("D:\\新建文件夹 (2)\\a.txt");
System.out.println(file.createNewFile()); //在D:\\新建文件夹 (2)路径下创建一个bb的文件夹
File file1 = new File("D:\\新建文件夹 (2)\\bb");
System.out.println(file1.mkdir()); //在D:\\新建文件夹 (2)路径下创建一个aa\\bb\\cc的多级文件夹,
File file2 = new File("D:\\新建文件夹 (2)\\aa\\bb\\cc");
System.out.println(file2.mkdirs()); //修改D:\\新建文件夹 (2)路径下的bb文件夹名字为bbbbbbb
File file3 = new File("D:\\新建文件夹 (2)\\bbbbbbb");
System.out.println(file1.renameTo(file3)); //把D:\\新建文件夹 (2)路径下bbbbbbb文件夹剪切到D:\\目录下
File file4 = new File("D:\\bbbbbbb");
System.out.println(file1.renameTo(file4)); //把D:\\新建文件夹 (2)路径下a.txt文件重命名为aaaa.txt
File file5 = new File("D:\\新建文件夹 (2)\\aaaa.txt");
System.out.println(file.renameTo(file5)); //把D:\\新建文件夹 (2)路径下aaaa.txt文件剪切到D:\\目录下
File file6 = new File("D:\\aaaa.txt");
System.out.println(file5.renameTo(file6));
}
}

删除:

public class Demo3 {
public static void main(String[] args) {
//delete() 删除此抽象路径名表示的空文件夹或者文件(立刻删除)
File file = new File("D:\\新建文件夹 (2)\\a.txt");
System.out.println("存在此文件吗?"+file.exists());
System.out.println("删除成功了吗?"+file.delete());
System.out.println("删除后文件还存在吗?"+file.exists());
System.out.println("---------------------------------------");
//deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件夹或文件。(jvm退出时删除)
File file1 = new File("D:\\新建文件夹 (2)\\b.txt");
System.out.println("存在此文件吗?"+file1.exists());
file1.deleteOnExit();
System.out.println("删除后还存在此文件吗?"+file1.exists());
}
}

获取:

public class Demo4 {
public static void main(String[] args) {
File file = new File("D:\\新建文件夹 (2)\\a.txt");
System.out.println("是否存在a.txt文件"+file.exists()); //getName()返回由此抽象路径名表示的文件夹或文件的名称。(返回子文件夹或者子文件名)
System.out.println("getName():"+file.getName()); //getParent()返回此抽象路径名表示的父路径名;如果此路径名没有指定父路径,则返回 null。
System.out.println("getParent()"+file.getParent()); //getPath()返回此抽象路径名的绝对路径名字符串(返回父路径名+子文件或者子文件夹名)。
System.out.println("getPath()"+file.getPath()); //getAbsolutePath() 返回此抽象路径名的绝对路径名字符串(返回父路径+子文件或者子文件夹名)。
System.out.println("getAbsolutePath()"+file.getAbsolutePath()); //lastModified()如果在此路径下存在此文件或者文件夹,那么返回的是最后一次修改的时间,如果不存在那么返回的是0
Date date = new Date(file.lastModified());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println("最后一次修改的时间"+dateFormat.format(date)); //length()返回由此抽象路径名表示的文件大小(字节),如果此路径下存在此文件,那么返回文件的字节大小,如果不存在那么返回0
System.out.println("length()"+file.length());
}
}

class MyFilter implements FilenameFilter{

    @Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return name.endsWith(".txt");
} } public class Demo5 {
public static void main(String[] args) {
File file = new File("D:\\新建文件夹 (2)");
System.out.println("是否存在此路径:"+file.exists()); //list()返回一个字符串数组,这些字符串指定此抽象路径名表示的子文件和子文件夹
String[] strarr1 = file.list();
for (String temp : strarr1) {
System.out.print(temp+",");
} System.out.println("\n----------------------");
//listFiles()返回一个File类型的数组,这些字符串指定此抽象路径名表示的父路径+子文件和子文件夹
File[] fliearr1 = file.listFiles();
for (File temp : fliearr1) {
System.out.print(temp+",");
} System.out.println("\n----------------------");
//listRoots()返回一个File类型的数组,列出可用的文件系统根。(比如:盘符)
File[] filearr2 = file.listRoots();
for (File temp : filearr2) {
System.out.print(temp+",");
} System.out.println("\n----------------------");
//list(FilenameFilter filter)接受一个过滤器并返回一个由过滤器过滤的字符串数组,过滤器返回true就存入数组,返回false就不存入(数组存储的是子文件或者子文件夹名)
String[] strarr2 = file.list(new MyFilter());
for (String temp : strarr2) {
System.out.print(temp+",");
} System.out.println("\n----------------------");
//listFiles(FileFilter filter)接受一个过滤器并返回一个由过滤器过滤的字符串数组,过滤器返回true就存入数组,返回false就不存入(数组存储的是父路径+子文件或者子文件夹名)
File[] filearr3 = file.listFiles(new MyFilter());
for (File temp : filearr3) {
System.out.print(temp+",");
}
}
}

62. File类常用方法的更多相关文章

  1. java File类常用方法

    file类常用方法 delete()删除此抽象路径名表示的文件和目录. equals()测试此抽象路径名与给定对象是否相等. exists()测试此抽象路径名表示的文件或目录是否存在. getName ...

  2. File类常用方法和枚举

    新建一个file对象: File f = new File("F:\\01.JAVA基础300集\\05_常用类\\122.File类的使用.mp4"); (文件路径也可以用&qu ...

  3. File类常用方法

    File类是IO中常用的类 先介绍几个常用的方法: public boolean canRead(),public boolean canWrite() 测试当前文件是否可读可写,若是则返回true ...

  4. C# File类常用方法

    File 类 提供用于创建.复制.删除.移动和打开文件的静态方法,并协助创建 FileStream 对象. 1. File.Exists ——  确定指定的文件是否存在. public static ...

  5. Java File类常用方法及实例

    创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false. createTempFile(String prefix, String s ...

  6. I/O流——File类及使用

    I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对 ...

  7. File类

    存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中.这些文件可以移动,传送,亦可以被其他程序使用.由于数据存储在文 ...

  8. Java文件File类学习总结

    java.io.File类 代表文件和目录,在开发中,读取文件.生成文件.删除文件.修改文件的属性都会用到该类. 常见构造方法: public File(String pathName){} 以pat ...

  9. Java常用类之File类

    File 类: 1. java.io.File 类代表系统文件名(路径名.文件名); 2. File 类常见的构造方法: 2.1. File(String pathname):通过将给定路径名字符串转 ...

随机推荐

  1. setTimeout()和setInterval()的用法及区别

    setInterval 方法表示每间隔一段时间执行一次函数,会一直执行下去,除非手动 clearInterval 来停止. var i = 10; var timer = setInterval(() ...

  2. 【集群】Redis哨兵(Sentinel)模式

    主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用.这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式. 一.哨兵 ...

  3. Mybatis基于XML配置SQL映射器(一)

    Durid和Mybatis开发环境搭建 SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务(http://www.cnblogs.com/nbfujx/p/76 ...

  4. Jetson Nano系列教程3:GPIO

    摘要: JetsonTX1,TX2,AGXXavier和Nano开发板包含一个40引脚的GPIO头,类似于Raspberry PI中的40引脚头.这些GPO可以通过JetsonGPIOLibrary包 ...

  5. 存储-docker存储(12)

    storage driver 和 data volume 是容器存放数据的两种方式 storage driver方式 docker info | grep "Storage Driver&q ...

  6. Linux桌面与命令行切换

    1.首先在安装Linux的时候是选则Desktop桌面方式安装 2.切换命令 2.1快捷键:Ctrl+Alt+F1    切换到桌面模式 Ctrl+Alt+F3    切换到命令行模式

  7. 架构师技能树skill-map

    # 架构师技能树 ## 系统架构能力 ### 基本理论- 扩展性设计- 可用性设计- 可靠性设计- 一致性设计- 负载均衡设计- 过载保护设计 ### 协议设计- 二进制协议- 文本协议 ### 接入 ...

  8. 二.通过jenkins对系统的监控(1)

    说明:通过jenkins定时请求系统,判断系统是否挂了. 注:windows环境 1.新建一个自由风格的项目. 2.构建触发器选择定时构建. 3.执行windows批处理命令 4.构建后操作,发邮件 ...

  9. HTML5: HTML(5) 代码规范

    ylbtech-HTML5: HTML(5) 代码规范 1.返回顶部 1. HTML(5) 代码规范 HTML 代码约定 很多 Web 开发人员对 HTML 的代码规范知之甚少. 在2000年至201 ...

  10. Reactor 反应堆设计模式

    为了应对高并发的服务器端开发,微软在2009年提出了一种更优雅地实现异步编程的方式Reactive Programming即反应式编程.随后其他技术紧随其后,比如ES6通过引入类似的异步编程方式等. ...