欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java中File类的使用方法

程序员文章站 2023-12-04 16:21:22
构造函数复制代码 代码如下:public class filedemo {     public static void main(...

构造函数

复制代码 代码如下:

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