创建:
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. python小例子(三)

    1.提高Python运行速度的方法 (1)使用生成器,节约大量内存: (2)循环代码优化,避免过多重复代码的执行: (3)核心模块使用cpython,pypy等: (4)多进程,多线程,协程: (5) ...

  2. TCP/IP和Socket开发经验分享

    当前与网络相关的业务主要是基于tcp/ip或http,熟悉j2ee的同学一定会对http场景下的开发比较了解.但是,精通tcp/ip以及如何构建一个直接基于tcp/ip层通讯的知识却不太多见.恰巧,最 ...

  3. python小练习--模拟用户登录,(3次重试机会,登录成功展示登录账号密码)

    知识点使用:1.格式化输出的两种方法---% .formate 2.while循环的使用,及跳出循环的两种方法---break(跳出循环体).continue(结束本次循环,继续下次循环) 3.if条 ...

  4. 用GitLab Runner自动部署GitBook并不难

    相信很多程序员喜欢用 GitBook 来写电子书.教程或者博客,看了不少文章,貌似都缺少说明如何将 GitBook 部署到版本库,并自动在服务器上 build,然后将生成的静态网站部署到云服务器上. ...

  5. vue设置页面标题

    使用vue-wechat-title插件对页面标题进行设置 1.安装模块    命令行窗口中运行npm install vue-wechat-title --save PS.如果程序正在运行,ctrl ...

  6. Weblogic wls9_async_response 反序列化远程命令执行漏洞(CVE-2019-2725)复现

    一.     漏洞简介 漏洞编号和级别 CVE编号:CVE-2019-2725,危险级别:高危,CVSS分值:9.8. CNVD 编号:CNVD-C-2019-48814,CNVD对该漏洞的综合评级为 ...

  7. 一道国外前端面试题引发的Coding...

    刚刚看到CSDN微信公众号一篇文章,关于国外程序员面试前端遇到的一道测试题,有点意思,遂写了下代码,并记录一下~ 题目是这样的: ['Tokyo', 'London', 'Rome', 'Donlon ...

  8. [考试反思]1109csp-s模拟测试107:低能

    诶一看这不是水题AK场吗?然后80分钟就拿到了285分. 然后,对拍?还是卡T2常数?还是想T2正解? 于是上述三项我依次进行了. 前两项让我的分数丝毫不变但是吃掉了我一个多小时的时间. 卡常卡的也不 ...

  9. CSPS模拟 48

    ??? 分数越来越低??? T1 String Master 题目过于毒瘤,以至于我都不想改 T2 Tourist Attractions 稍微转化题意是求无向图的三角形个数 由于坚信bitset不是 ...

  10. MySQL 语句执行过程详解

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...