Java File类的常用方法总结


Posted in Javascript onMarch 18, 2015

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:\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"));

            }

        }

    }

}

以上就是Java File类的全部属性和方法,我们只需简单地调用上面的方法即可完成对指定文件的操作,希望本文对你有所帮助。
Javascript 相关文章推荐
jquery一般方法介绍 入门参考
Jun 21 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
Nov 28 Javascript
Jquery实现弹性滑块滑动选择数值插件
Aug 08 Javascript
轻松学习Javascript闭包函数
Dec 15 Javascript
使用bootstrap3开发响应式网站
May 12 Javascript
深入理解JQuery循环绑定事件
Jun 02 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
Jan 10 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
node文件上传功能简易实现代码
Jun 16 Javascript
详解webpack 最简打包结果分析
Feb 20 Javascript
JavaScript中的依赖注入详解
Mar 18 #Javascript
使用js实现的简单拖拽效果
Mar 18 #Javascript
使用纯javascript实现放大镜效果
Mar 18 #Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
Mar 18 #Javascript
javascript中的Base64、UTF8编码与解码详解
Mar 18 #Javascript
jQuery实现按键盘方向键翻页特效
Mar 18 #Javascript
javascript操作Cookie(设置、读取、删除)方法详解
Mar 18 #Javascript
You might like
人大复印资料处理程序_补充篇
2006/10/09 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
幼儿园教师辞职信
2014/01/18 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
2015年校长新年寄语
2014/12/08 职场文书
社区国庆节活动总结
2015/03/23 职场文书
小学教师读书笔记
2015/07/01 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js
python绘制云雨图raincloud plot
2022/08/05 Python