分享

利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件

 孤独一兵 2016-11-18

2016-11-18

这是本人的第一篇随笔博客,纠结了半天还是选择自己学的时候比较用心的一些知识点上。利用java.io.File类指定本地的文件夹进行遍历所有的文件。

package org.lxm.filedemo;import java.io.File;import java.util.Scanner;/* * 本程序是将某个盘的所有文件夹及其文件全部调出来的操作 */public class FileAllDemo { public static void main(String[] args) { // 通过Scanner进行交互 Scanner sc = new Scanner(System.in); System.out.println('请输入要打印出的文件夹:(windows下分隔符请使用“\\”)'); // 接收输入的内容 String pan = sc.next; // 实例化File类 File file = new File(pan); // 调用lists方法 lists(file); } public static void lists(File file) { if (file.isDirectory) { // 判断是否为文件夹 File list = file.listFiles; // 使用数组接收带有完整路径的文件夹 if (list != null) { // 循环遍历文件 for (int i = 0; i < list.length; i++) { lists(list[i]); } } // 输出文件名称 System.out.println(file); } }}

以上就是实现的代码。

File类的实例是不可变的;也就是说,一旦创建,File对象表示的抽象路径名将永不改变。其中路径中由于windows和linu系统使用的符号不同,所以通常使用File.separator(此处为常量)进行分隔,用法示例如 File file = new File('E:'+File.separator+'1.jpg');

经常用到的方法有createNewFile方法,表示创建一个新的文件,创建时必须指定一个路径,用法示例如以上的file不存在,则可使用 file.createNewFile进行创建,此时会抛出异常,需要try{//创建代码}catch(IOException e){}或throws进行处理,这里不做重点;

mkdir方法,表示创建文件夹命令,和上面一样,必须指定一个路径,如 File file1 = new File('E:'+File.separator+'java');file1.mkdir;则在指定路径上将创建一个java文件夹;

delete方法,表示删除指定路径的文件,用法如若删除以上创建的文件则file.delete;就可将文件删除;

exists方法,表示测试指定路径的文件是否存在,返回的是一个布尔值,true或false,用法如以上将file删除之后测试file.exists就会返回false,常用于if语句中;

isFile方法,表示测试指定路径的文件是否为一个文件,返回true或false,isDirectory方法,表示指定的路径是否为一个文件夹,用法略;

File listFiles方法,利用数组进行指定文件夹的遍历,用法为先定义一个File filepath = new File('E:'+File.separator+'文件夹名称');File list = filepath.listFiles;再利用加强的for循环将文件夹名称下面的文件及文件夹遍历出来,如for(File lists : list){System.out.println(lists);};

String list方法,和上面listFiles方法类似,都是将指定文件夹下面的文件及文件夹遍历出来,用法相同,不同之处是使用list方法遍历出来的内容是 根目录:\ 文件名,如 E:\文件名,而使用listFiles方法遍历出来的内容是 根目录:\ 文件夹名\文件名,如 E:\文件夹名称\文件名。这是比较直观的区别;

以上就是常用的方法,具体请参考API进行分析研究。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多