File 类详解

来源:互联网 发布:淘宝前十名店铺 编辑:程序博客网 时间:2024/05/23 12:08

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

构造函数

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class FileDemo {
    publicstatic void main(String[] args) {
        //构造函数File(String pathname)
        File f1 =new File("D:\\a\\1.txt");
         
        //File(String parent,String child)
        File f2 =new File("D:\\a","2.txt");
         
        //File(File parent,String child)
        File f3 =new File("D:"+File.separator+"a");
        File f4 =new File(f3,"3.txt");
         
        System.out.println(f1);
    }
}

 创建方法

?
1
2
3
4
5
1 boolean  createNewFile() 不存在就返回true;存在返回false
 
2 boolean mkdir()  创建目录
 
3 boolean mkdirs()  创建多级目录

 删除方法

1  boolean delete()

2 boolean deleteOnExit()文件使用后删除

?
1
2
3
4
5
6
7
8
9
10
11
12
public class FileDemo {
    publicstatic void main(String[] args) {
    File f =new File("D:\\1.txt");
    try{
        System.out.println(f.createNewFile());
        System.out.println(f.delete());
    }catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     
    }

  判断方法

  1 boolean canExecute()  判断文件是否可以执行

  2 boolean canRead() 判断文件是否可读

  3 boolean canWrite() 判断文件是否可写

  4 boolean exist() 判断文件是否存在

  5 boolean isDirectory() 判断文件是目录

  6 boolean isFile() 判断是否是文件

  7 boolean canHidden() 判断文件是否可见

  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)

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class FileDemo3 {
     publicstatic 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);
                 }
             }
         }
     }
 
 }

  

 文件过滤

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class FileDemo4 {
    publicstatic void main(String[] args){
        File[] files =File.listRoots();
        for(File file:files){
            System.out.println(file);
            if(file.length()>0){
                String[] filenames =file.list(newFilenameFilter(){
                    //file 过滤目录 name 文件名
                    publicboolean accept(File file,String filename){
                        returnfilename.endsWith(".mp3");
                    }
                });
                for(String filename:filenames){
                    System.out.println(filename);
                }
            }
        }
    }
 
}

  

 利用递归列出所有文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class FileDemo5 {
    publicstatic void main(String[] args){
        File f =newFile("e:\\音樂");
        showDir(f);
    }
    publicstatic 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);
        }
    }
}

  

 移动文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Test5 {
    publicstatic 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(newFile("c:\\jad\\"+
            file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
            }
        }
    }
}

  

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 vivo卡死机了怎么办 秒玩登录失败怎么办 一体机卡糟卡住怎么办 台式一体机卡了怎么办 一体机有点卡卡怎么办 DNF拼图拼错了怎么办 p图照片有竖条怎么办 qq提示连接超时怎么办 苹果app涉赌怎么办 棋牌app涉赌怎么办 打闲来麻将老输怎么办 儿子欠老子钱不还怎么办 傲风电竞椅扶手坏了怎么办 桑蚕丝面料发黄了怎么办? 天然植物纤维面料发黄怎么办 阴阳师吸血姬血太厚了怎么办 电话被骗了钱怎么办 镇魔曲元宝被扣怎么办 镇魔曲以前的角色怎么办 镇魔曲手游转职后装备怎么办 镇魔曲个性标签任务怎么办 教师资格证申请表打不开怎么办 怎么办appstore换到日本 电脑内存太小怎么办 win10声音卡顿怎么办 录音播放卡顿怎么办 笔记本电脑玩dnf卡怎么办 龙之谷约惠码被删了怎么办 天涯明月刀马没有了怎么办 icloud照片无法同步怎么办 ipad不能下载app怎么办 ipad屏幕孔进水怎么办 ipad无法验证登录怎么办 dnf电脑配置低怎么办 淘宝直播粉丝不够怎么办 电脑页面显示不全怎么办 脸上发痒长痘怎么办 扣扣魔性表情泡泡消失怎么办 脚起小泡泡很痒怎么办 孕妇脚痒起水泡怎么办 孕妇手脚起湿疹怎么办