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

createTempFile(String prefix, String suffix, File directory)   在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
mkdir()  在指定位置创建一个单级文件夹。
mkdirs()  在指定位置创建一个多级文件夹。
renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹。

删除:
delete()  删除文件或者一个空文件夹,不能删除非空文件夹,马上删除文件,返回一个布尔值。
deleteOnExit()jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。

判断:
exists()  文件或文件夹是否存在。
isFile()  是否是一个文件,如果不存在,则始终为false。
isDirectory()  是否是一个目录,如果不存在,则始终为false。
isHidden()  是否是一个隐藏的文件或是否是隐藏的目录。
isAbsolute()  测试此抽象路径名是否为绝对路径名。
boolean canExecute()判断文件是否可执行
boolean canRead()判断文件是否可读
boolean canWrite() 判断文件是否可写

获取:
getName()  获取文件或文件夹的名称,不包含上级路径。
getAbsolutePath()获取文件的绝对路径,与文件是否存在没关系
length()  获取文件的大小(字节数),如果文件不存在则返回0,如果是文件夹也返回0。
getParent()  返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
lastModified()获取最后一次被修改的时间。

文件夹相关:
static File[] listRoots()列出所有的根目录(Window中就是所有系统的盘符)
list()  返回目录下的文件或者目录名,包含隐藏文件。对于文件这样操作会返回null。
listFiles()  返回目录下的文件或者目录对象(File类实例),包含隐藏文件。对于文件这样操作会返回null。
list(FilenameFilter filter)返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
listFiles(FilenameFilter filter)返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。

********************实例********************

import java.io.File;

1.在指定位置创建文件creatNewFile()
File myFile = new File("D:\\test.txt");
if(!myFile.exists){
    myFile.mkdir();//创建文件夹
    
    myFile.creatNewFile();创建文件
}

createTempFile(String prefix, String suffix, File directory)

File file=null;
        File dir=new File("E:");
        file=file.createTempFile("javatemp", ".txt",dir);
        System.out.println(file.getPath());

2.在指定位置创建文件夹mkdir()
File myFile = new File("D:\\yxy");
if(!myFile.exists){
    myFile.mkdir();//创建文件夹
}

3.在指定位置创建一个多级文件夹mkdirs()
File myFile = new File("D:/yxy");
if(!myFile.exists){
    //如果父目录存在,则直接在父目录中创建子目录;如果父目录不存在,递归创建所有目录
    myFile.mkdirs();
}

4.使用递归遍历目录:
public class Test2 {

public static void main(String[] args) {
           Myfile yxy=new Myfile();
           yxy.yxyfile();
    }
}
class Myfile{
    File myFile = new File("D:/yxy");
    File[] files=myFile.listFiles();
    void yxyfile(){
        for(File fd:files){
            if(fd.isDirectory()){
                System.out.println(fd);
                files =fd.listFiles();//生成新的listFiles()
                yxyfile();//使用递归
            }else{
                System.out.println(fd);
            }
        }
    }

5.清空目录下的所有文件夹和文件
①方法一:
public class Test2 {

public static void main(String[] args) {
           Myfile yxy=new Myfile();
           yxy.yxyfile();
    }
}
class Myfile{
    File myFile = new File("D:/yxy");
    File[] files=myFile.listFiles();
    void yxyfile(){
        //第一个for循环用于删除文件
        ArrayList<File> dirname=new ArrayList<File>();//用于保存目录
        for(File fd:files){
            if(fd.isDirectory()){
                System.out.println(fd);
                files =fd.listFiles();//生成新的listFiles()
                dirname.add(fd);
                yxyfile();//使用递归
            }else{
                System.out.println(fd);
                fd.delete();//删除所有的文件
            }
            //删除空目录
            for(File dir:dirname){
                dir.delete();
            }}}}

②方法二:
public class Test2 {

public static void main(String[] args) {
           Myfile yxy=new Myfile();
           yxy.yxyfile();
    }
}
class Myfile{
    File myFile = new File("D:/yxy");
    File[] files=myFile.listFiles();
    void yxyfile(){
        //第一个for循环用于删除文件
        for(File fd:files){
            if(fd.isDirectory()){
                System.out.println(fd);
                files =fd.listFiles();//生成新的listFiles()
                yxyfile();//使用递归
            }else{
                System.out.println(fd);
                fd.delete();//删除所有的文件
            }
            //删除空目录
            File[] dir=myFile.listFiles();//剩下的空文件夹
            for(int i=0;i<dir.length;i++){
                dir[i].delete();
            }}}}

③方法三(调用cmd,简单):
public class Test1 {

public static void main(String[] args) {
        try {  
            String cmd = "cmd.exe /c rd /s/q E:\\yxy";  
            Runtime.getRuntime().exec(cmd);
            System.out.println("yes");
            } catch (Exception e) {  
                System.out.println("Error");
            } }}

注:/s代表删除所有子目录及子目录下文件,/q代表删除时不需再次确认,

6.list()和listFiles()的区别
        File file=new File("E:\\xxx");
        String[] filename1=file.list();//返回文件或目录的名字
        File[] filename2=file.listFiles();//返回文件或目录的完整路径
        File[] filename3=file.listRoots();//列出所有根目录(Window中就是所有系统的盘符)
        for(String name1:filename1){System.out.println(name1);}
        for(File name2:filename2){System.out.println(name2);}
        for(File name3:filename3){System.out.println(name3);}

输出:
list():
python内置进制转换方法.png
python的面向对象.png
新建文件夹

listFiles():
E:\xxx\python内置进制转换方法.png
E:\xxx\python的面向对象.png
E:\xxx\新建文件夹

listRoots():
C:\
D:\
E:\
Z:\

7.renameTo(File dest)
注释:如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下

,那么renameTo的作用就是剪切,而且还不能操作文件夹。

①重命名:
File file=new File("E:\\xxx\\python的面向对象.png");
file.renameTo(new File("E:\\xxx\\py的面向对象.png"));

②移动文件:
File file=new File("E:\\xxx\\python的面向对象.png");
file.renameTo(new File("D:\\python的面向对象.png"));

8.调用CMD命令移动整个文件夹
        try{
            Runtime.getRuntime().exec("cmd.exe /c move E:\\xxx\\1 E:");
        }catch(Exception e){
            System.out.println("Error");
        }

注意:

String curDir = System.getProperty("user.dir");

System.out.println("你当前的工作目录为 :" + curDir);

System.getProperty这是获取JVM的系统属性,user.dir(user working directory)

Java File类常用方法及实例的更多相关文章

  1. java File类常用方法

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

  2. Java File类基础解析 1

    Java File类基础解析 1 File类的构造方法 public File(String pathname) :通过给定的路径名字符转换为抽象路径名来创建新的File实例 String path ...

  3. Java File 类的使用方法详解

    Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看 ...

  4. Java File 类的使用方法详解(转)

    转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...

  5. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

  6. Java File类 mkdir 不能创建多层目录

    File f = new File("/home/jp/Upload"); if ((!f.exists()) || (!f.isDirectory())) {boolean re ...

  7. java File 类对操作系统文件目录进行操作:增删查

    File类 1,概述 File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成. 2,构造方法 public File(Strin ...

  8. Java——File类概述

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  9. Java——File类成员方法

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

随机推荐

  1. 这一次,彻底理解Promise源码思想

    关于Promise的源码实现,网上有太多答案,我也看过很多资料,但都不是很明白.直到有一天我学完函数式编程之函子的概念,才对Promise源码有了更深刻的认识.今天,就让我们来重新认识一下Promis ...

  2. ArangoDB简单实例介绍

    数据介绍: 2008美国国内航班数据 airports.csv flights.csv 数据下载地址:https://www.arangodb.com/graphcourse_demodata_ara ...

  3. Linux学习使用Vim

    Vim是从 vi 发展出来的一个文本编辑器.vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序 ...

  4. 解决靶机Bee-Box 键盘乱序问题

    Bee-Box介绍 Bee-box官方称呼BWAPP,buggy web Application 这是一个集成了各种常见漏洞和最新漏洞的开源Web应用程序,目的是帮助网络安全爱好者.开发人员和学生发现 ...

  5. 2019 .NET China Conf:路一直都在,社区会更好

    这个周末,我从成都飞到了上海参加了首届由社区组织而非官方(比如Microsoft)组织的.NET开发者峰会(.NET Conf).为此,我特意请了两天的假(周五+周六,对,我们是大小周,这周六要上班) ...

  6. 命运Ⅰ&命运Ⅱ

    upd:为啥下面的相关博文都是各种退役记(这TM怎么就相关了) 竟然被卡线了,16名,我这几次考试也是炸到了一定境界了... 前三次模拟总榜rk1,第一次分机房rk4,第二次分机房rk11,第三次分机 ...

  7. Docker 开篇 1 | 树莓派中搭建Docker

    官网三种安装方式,故不再赘述 大部分内容可参考官网链接:https://docs.docker.com/install/linux/docker-ce/debian/#install-docker-c ...

  8. 邵国际: C 语言对象化设计实例 —— 命令解析器

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 邵国际 来源: 微信公众号linux阅码场(id: linuxdev) 内容简介 单片机工程师常常疑惑为什么 ...

  9. Uber Go 语言编码规范

    Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter.其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap.jaeger 等.2 ...

  10. java多线程与线程并发五:多个线程访问共享对象和数据的方式

    本节的内容主要是对前面几节提到的线程间共享数据的方式做一个总结. 线程之间共享数据有以下几种方式: 1.如果每个线程执行的代码相同,可以使用同一个Runnable对象. 2.如果每个线程执行的代码不同 ...