java中File类的使用方法

时间:2023-09-11 11:49:55 

构造函数


public class FileDemo {
     public static void main(String[] args){
         //构造函数File(String pathname)
         File f1 =new File("c:\\abc\\1.txt");
         //File(String parent,String child)
         File f2 =new File("c:\\abc","2.txt");
         //File(File parent,String child)
         File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符
         File f4 =new File(f3,"3.txt");
         System.out.println(f1);//c:\abc\1.txt

     }

 }


创建方法

1.boolean createNewFile() 不存在返回true 存在返回false
2.boolean mkdir() 创建目录
3.boolean mkdirs() 创建多级目录

删除方法

1.boolean delete()
2.boolean deleteOnExit() 文件使用完成后删除


import java.io.File;
import java.io.IOException;

public class FileDemo2 {
    public static void main(String[] args){
        File f =new File("d:\\1.txt");
        try {
            System.out.println(f.createNewFile());//当文件存在时返回false
            System.out.println(f.delete());//当文件不存在时返回false
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

判断方法

1.boolean canExecute()判断文件是否可执行
2.boolean canRead()判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件是否存在
5.boolean isDirectory()
6.boolean isFile()
7.boolean isHidden()
8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断

获取方法

1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果没有父目录返回null
5.long lastModified()//获取最后一次修改的时间
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//获取机器盘符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁盘下的文件和文件夹


public class FileDemo3 {
     public static void main(String[] args){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list();
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
     }

 }


文件过滤


import java.io.File;
 import java.io.FilenameFilter;
 public class FileDemo4 {
     public static void main(String[] args){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list(new FilenameFilter(){
                     //file 过滤目录 name 文件名
                     public boolean accept(File file,String filename){
                         return filename.endsWith(".mp3");
                     }
                 });
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
     }

 }


File[]  listFiles()

File[] listFiles(FilenameFilter filter)

利用递归列出全部文件


public class FileDemo5 {
    public static void main(String[] args){
        File f =new File("e:\\音樂");
        showDir(f);
    }
    public static void showDir(File dir){
        System.out.println(dir);
        File[] files =dir.listFiles();
        for(File file:files){
            if(file.isDirectory())
                showDir(file);
            else
                System.out.println(file);
        }
    }

}

移动文件

找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad 。


public class Test5 {
    public static void main(String[] args){
        File f1 = new File("d:\\");
        moveFile(f1);
    }

public static void moveFile(File dir){
    File[] files=dir.listFiles();
    for(File file:files){
        if(file.isDirectory())
            moveFile(file);
        else{
            if(file.getName().endsWith(".java"))
                file.renameTo(new File("c:\\jad\\"+
            file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
            }
        }
    }
}

标签:java,file类
0
投稿

猜你喜欢

  • 剖析Java中阻塞队列的实现原理及应用场景

    2023-09-01 17:33:07
  • Spring Boot项目实战之拦截器与过滤器

    2022-08-04 15:55:31
  • Spring Cache框架应用介绍

    2023-06-15 22:32:59
  • Android10 启动Zygote源码解析

    2021-10-11 07:53:13
  • Java多种方式实现生产者消费者模式

    2023-12-13 05:56:16
  • 修改Android FloatingActionButton的title的文字颜色及背景颜色实例详解

    2021-08-21 21:18:44
  • java Swing基础教程之图形化实例代码

    2023-06-30 03:15:20
  • android 仿微信demo——注册功能实现(服务端)

    2023-10-30 09:58:23
  • SpringMVC @RequestMapping注解详解

    2022-08-08 06:58:14
  • SpringBoot2整合Redis实现读写操作

    2023-08-03 08:19:24
  • 利用logback 设置不同包下的日志级别

    2022-08-11 20:05:43
  • C# DataTable中Compute方法用法集锦(数值/字符串/运算符/表等操作)

    2023-03-01 23:28:38
  • Kotlin方法与Lambda表达式实践使用介绍

    2021-11-07 08:03:04
  • Flutter中http请求抓包的完美解决方案

    2023-08-22 18:47:47
  • Android悬浮按钮点击返回顶部FloatingActionButton

    2021-09-09 01:47:00
  • java实现二叉树的创建及5种遍历方法(总结)

    2022-03-14 09:00:28
  • Java如何固定大小的线程池

    2021-08-30 06:18:19
  • Java基础知识精通二维数组的应用

    2022-02-03 03:01:28
  • maven环境变量配置以及失败原因解析

    2023-09-15 22:43:28
  • java + dom4j.jar提取xml文档内容

    2023-11-29 03:55:10
  • asp之家 软件编程 m.aspxhome.com