zoukankan      html  css  js  c++  java
  • Java File 类的使用方法详解(转)

    转自:http://www.codeceo.com/article/java-file-class.html

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

    构造函数

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

    以上就是Java File类的全部属性和方法,我们只需简单地调用上面的方法即可完成对指定文件的操作,希望本文对你有所帮助。

  • 相关阅读:
    LeetCode-018-四数之和
    LeetCode-017-电话号码的字母组合
    LeetCode-016-最接近的三数之和
    LeetCode-015-三数之和
    LeetCode-014-最长公共前缀
    LeetCode-013-罗马数字转整数
    LeetCode-012-整数转罗马数字
    LeetCode-011-盛最多水的容器
    LeetCode-010-正则表达式匹配
    [leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树Z形遍历
  • 原文地址:https://www.cnblogs.com/name-hanlin/p/6146393.html
Copyright © 2011-2022 走看看