最代码官方的gravatar头像
最代码官方 2014-07-19 13:56:02
java file文件类操作使用方法大全

构造函数

package com.zuidaima.file;
public class FileDemo {
     public static void main(String[] args){
         //构造函数File(String pathname)
         File f1 =new File("c:\\zuidaima\\1.txt");
         //File(String parent,String child)
         File f2 =new File("c:\\zuidaima","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:\zuidaima\1.txt
     }
 }

创建方法

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

删除方法

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

package com.zuidaima.file;
import java.io.File;
import java.io.IOException;

public class FileDemo2 {
    public static void main(String[] args){
        File f =new File("d:\\zuidaima\\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)
列出磁盘下的文件和文件夹

package com.zuidaima.file;
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);
                 }
             }
         }
     }
 }

文件过滤

package com.zuidaima.file;

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)

利用递归列出全部文件

package com.zuidaima.file;
public class FileDemo5 {
    public static void main(String[] args){
        File f =new File("e:\\zuidaima");
        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 。

package com.zuidaima.file;

public class Test5 {
    public static void main(String[] args){
        File f1 = new File("d:\\zuidaima\\");
        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"));
            }
        }
    }
}

打赏
最近浏览
huigui  LV2 2020年6月15日
dpj123  LV1 2020年4月21日
2141853180  LV5 2019年12月9日
1279894731  LV1 2019年11月13日
xiahaoyu  LV8 2019年10月8日
kahar0101  LV10 2019年10月3日
ljkfdsjh  LV2 2019年5月15日
whswhs  LV6 2019年1月20日
sayjs007  LV2 2019年1月2日
john93  LV15 2018年12月11日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友