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 tools之tooltip
Jul 25 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
javascript实现连续赋值
Aug 10 Javascript
深入理解Angular2 模板语法
Aug 07 Javascript
HTML5 canvas 9绘制图片实例详解
Sep 06 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 Javascript
js学使用setTimeout实现轮循动画
Jul 17 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
ES6之模版字符串的具体使用
May 17 Javascript
webpack自动打包和热更新的实现方法
Jun 24 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 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
javascript 小型动画组件与实现代码
2010/06/02 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
jquery实现图片放大点击切换
2017/06/06 jQuery
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
Python 专题一 函数的基础知识
2017/03/16 Python
Python正则简单实例分析
2017/03/21 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
django API 中接口的互相调用实例
2020/04/01 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
村官工作鉴定评语
2014/01/27 职场文书
公司运动会策划方案
2014/05/25 职场文书
工程款催款函
2015/06/24 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android