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 相关文章推荐
javascript suggest效果 自动完成实现代码分享
Feb 17 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
js实现拖拽效果(构造函数)
Dec 14 Javascript
JavaScript与ActionScript3两者的同性与差异性
Sep 22 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
JavaScript生成随机验证码代码实例
Sep 28 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
Apr 10 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
Jul 14 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
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
vuex的module模块用法示例
2018/11/12 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
2019/06/10 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
一看就懂得Python的math模块
2018/10/21 Python
PyQt5组件读取参数的实例
2019/06/25 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
几道数据库的概念性面试题
2014/05/30 面试题
介绍一下.net和Java的特点和区别
2012/09/26 面试题
国际会计专业求职信
2014/08/04 职场文书
高二数学教学反思
2016/02/18 职场文书
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers
SQL注入详解及防范方法
2021/12/06 MySQL