JAVA中File的创建使用

开发过程中经常用到File,不过从来没总结过,最近时间比较空就总结一下,毕竟总结进步才比较快,希望能帮助大家!

File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹。File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名、判断指定文件是否存在、获取当前目录中的文件列表,创建、删除文件和目录等方法。

首先是文件和文件夹的创建

创建文件夹:

String path = Environment.getExternalStorageDirectory()+"";
File file1 = new File(path+"/abc/");
file1.mkdir();
File file2 = new File(path+"/abc/abcd/");
file2.mkdirs();

注意:mkdir(); 创建文件夹,只创建一层文件夹。

            mkdirs(); 创建多个文件夹,当目录中各层级的文件夹都没有时用。

            如果文件夹存在不会重复创建。

创建文件:

//新建一个File类型的成员变量,传入文件名路径。
mFile = new File(path+ "/abc/hello.txt");
//判断文件是否存在,存在就删除
if (mFile.exists()) {
    mFile.delete();
}
try {
    //创建文件
    mFile.createNewFile();
    //给一个吐司提示,显示创建成功
    Toast.makeText(getApplicationContext(), "文件创建成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
    e.printStackTrace();
}
注意:createNewFile(); 创建文件,目录是“已经存在的路径+文件名”,当目录中有些层级的文件夹不存在创建不成功


删除方法

boolean delete() ,删除(文件或文件夹)
boolean deleteOnExit() 文件使用完成后删除

判断方法

boolean canExecute()判断文件是否可执行
boolean canRead()判断文件是否可读
boolean canWrite() 判断文件是否可写
boolean exists() 判断文件是否存在
boolean isDirectory() 
boolean isFile()
boolean isHidden()
boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断

获取方法

String getName()
String getPath()
String getAbsolutePath()
String getParent()//如果没有父目录返回null
long lastModified()//获取最后一次修改的时间
long length()
boolean renameTo(File f)
File[] liseRoots()//获取机器盘符
String[] list() 
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);
                 }
             }
         }
     }

 }

利用递归列出全部文件

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值