Java中File类的使用方法(归纳总结)

Java文件类以抽象的方式代表文件名和目录路径名。
该类主要用于文件和目录的创建、文件的查找和文件的删除等。
File对象代表磁盘中实际存在的文件和目录。
通过以下构造方法创建一个File对象。

1、构造函数

代码如下:

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

     }

 }

2、创建方法

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

3、删除方法

(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();
        }
    }
}

4、判断方法

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

5、获取方法

(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)

6、列出磁盘下的文件和文件夹

代码如下:

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);
                 }
             }
         }
     }

 }

7、文件过滤

代码如下:

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)

8、利用递归列出全部文件

代码如下:

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);
        }
    }}

9、移动文件

要求:找出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"));
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43520450/article/details/106974999