博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 目录
阅读量:5259 次
发布时间:2019-06-14

本文共 8043 字,大约阅读时间需要 26 分钟。

递归创建目录

以下实例演示了使用 File 类的 mkdirs() 实现递归创建目录 :

 
import java.io.File; public class Main {    public static void main(String[] args) {        String directories = "D:\\a\\b\\c\\d\\e\\f\\g\\h\\i";        File file = new File(directories);        boolean result = file.mkdirs();        System.out.println("Status = " + result);    }}
View Code

删除目录

以下实例演示了使用 File 类的 ofdir.isDirectory(), dir.list() 和 deleteDir() 方法在一个个删除文件后删除目录 :

 
import java.io.File; public class Main {    public static void main(String[] argv) throws Exception {        // 删除当前目录下的 test 目录        deleteDir(new File("./test"));    }    public static boolean deleteDir(File dir) {        if (dir.isDirectory()) {            String[] children = dir.list();            for (int i = 0; i < children.length; i++) {                boolean success = deleteDir                (new File(dir, children[i]));                if (!success) {                    return false;                }            }        }        if(dir.delete()) {            System.out.println("目录已被删除!");            return true;        } else {            System.out.println("目录删除失败!");            return false;        }    }}
View Code

判断目录是否为空

以下实例演示了使用 File 类的 file.isDirectory() 和 file.list() 方法来判断目录是否为空:

import java.io.File; public class Main{    public static void main(String[] args)    {        File file = new File("./testdir");  // 当前目录下的 testdir目录        if(file.isDirectory()){            if(file.list().length>0){                System.out.println("目录不为空!");            }else{                System.out.println("目录为空!");            }        }else{            System.out.println("这不是一个目录!");        }    }}
View Code

判断文件是否隐藏

以下实例演示了使用 File 类的 file.isHidden() 方法来判断文件是否隐藏:

 
import java.io.File; public class Main {    public static void main(String[] args) {        File file = new File("C:/Demo.txt");        System.out.println(file.isHidden());    }}
View Code

获取目录大小

以下实例演示了使用 File 类的 FileUtils.sizeofDirectory(File Name) 来获取目录的大小:

 
import java.io.File;import org.apache.commons.io.FileUtils; public class Main {    public static void main(String[] args) {        long size = FileUtils.sizeOfDirectory(new File("C:/test"));        System.out.println("Size: " + size + " bytes");    }}
View Code

在指定目录中查找文件

以下实例演示了使用 File 类的 dir.list() 方法在指定目录中查找所有文件列表:

 
import java.io.File; public class Main {    public static void main(String[] argv) throws Exception {        File dir = new File("../java");        String[] children = dir.list();        if (children == null) {            System.out.println("该目录不存在");        }        else {            for (int i = 0; i < children.length; i++) {                String filename = children[i];                System.out.println(filename);            }        }    }}
View Code

以上代码运行输出结果为:

Car.classFileUtil.classFileUtil.javaHelloWorld.classHelloWorld.javaHelloWorldDebug.classHelloWorldDebug.java……
View Code

获取文件的上级目录

以下实例演示了使用 File 类的 file.getParent() 方法来获取文件的上级目录:

 
import java.io.File; public class Main {    public static void main(String[] args) {        File file = new File("C:/File/demo.txt");        String strParentDirectory = file.getParent();        System.out.println("文件的上级目录为 : " + strParentDirectory);    }}
View Code

获取目录最后修改时间

以下实例演示了使用 File 类的 file.lastModified() 方法来获取目录的最后修改时间:

 
import java.io.File;import java.util.Date; public class Main {    public static void main(String[] args) {        File file = new File("C://FileIO//demo.txt");        System.out.println("最后修改时间:" + new Date(file.lastModified()));    }}
View Code

打印目录结构

以下实例演示了使用 File 类的 file.getName() 和 file.listFiles() 方法来打印目录结构:

 
import java.io.File;import java.io.IOException; public class FileUtil {    public static void main(String[] a)throws IOException{        showDir(1, new File("d:\\Java"));    }    static void showDir(int indent, File file) throws IOException {        for (int i = 0; i < indent; i++)            System.out.print('-');        System.out.println(file.getName());        if (file.isDirectory()) {            File[] files = file.listFiles();            for (int i = 0; i < files.length; i++)                showDir(indent + 4, files[i]);        }    }}
View Code

以上代码运行输出结果为:

-Java-----codes---------string.txt---------array.txt-----w3cschoolcc
View Code

遍历指定目录下的所有目录

以下实例演示了如何使用 File 类的 list 方法来遍历指定目录下的所有目录:

 
import java.io.*; class Main {   public static void main(String[] args) {      File dir = new File("F:");      File[] files = dir.listFiles();      FileFilter fileFilter = new FileFilter() {         public boolean accept(File file) {            return file.isDirectory();         }      };      files = dir.listFiles(fileFilter);      System.out.println(files.length);      if (files.length == 0) {         System.out.println("目录不存在或它不是一个目录");      }      else {         for (int i=0; i< files.length; i++) {            File filename = files[i];            System.out.println(filename.toString());         }      }   }}
View Code

以上代码运行输出结果为:

 

14F:\C Drive Data Old HDDF:\Desktop1F:\harshF:\hharsh finalF:\hhhhF:\movF:\msdownld.tmpF:\New FolderF:\raviF:\ravi3F:\RECYCLERF:\System Volume InformationF:\tempF:\work
View Code

输出指定目录下的所有文件

以下实例演示了如何使用 File 类的 list 方法来输出指定目录下的所有文件:

 
class Main {    public static void main(String[] args) {        File dir = new File("C:");        String[] children = dir.list();        if (children == null) {            System.out.println( "目录不存在或它不是一个目录");        }        else {            for (int i=0; i< children.length; i++) {                String filename = children[i];                System.out.println(filename);            }        }    }}
View Code

以上代码运行输出结果为:

buildbuild.xmldestnfiledetnfilefilenamemanifest.mfnbprojectoutfilenamesrcsrcfiletest
View Code

在指定目录中查找文件

以下实例演示了在 C 盘中查找以字母 'b' 开头的所有文件:

 
import java.io.*; class Main {   public static void main(String[] args) {      File dir = new File("C:");      FilenameFilter filter = new FilenameFilter() {         public boolean accept         (File dir, String name) {            return name.startsWith("b");        }      };      String[] children = dir.list(filter);      if (children == null) {         System.out.println("目录不存在或它不是一个目录");      }       else {         for (int i=0; i < children.length; i++) {            String filename = children[i];            System.out.println(filename);         }      }    }}
View Code

以上代码运行输出结果为:

 

buildbuild.xml

查看系统根目录

以下实例演示了使用 File 类的 listRoots() 方法来输出系统所有根目录:

 
import java.io.*; class Main{    public static void main(String[] args){        File[] roots = File.listRoots();        System.out.println("系统所有根目录:");        for (int i=0; i < roots.length; i++) {            System.out.println(roots[i].toString());        }    }}
View Code

以上代码运行输出结果为:

 

系统所有根目录:C:\D:\E:\F:\G:\H:\
View Code

查看当前工作目录

以下实例演示了使用 System 的 getProperty() 方法来获取当前的工作目录:

 
class Main {    public static void main(String[] args) {        String curDir = System.getProperty("user.dir");        System.out.println("你当前的工作目录为 :" + curDir);    }}
View Code

以上代码运行输出结果为:

 

你当前的工作目录为 :/www/java

遍历目录

以下实例演示了使用 File 类的 dir.isDirectory() 和 dir.list() 方法来遍历目录:

 
import java.io.File; public class Main {    public static void main(String[] argv) throws Exception {        System.out.println("遍历目录");        File dir = new File("/www/java"); //要遍历的目录        visitAllDirsAndFiles(dir);    }    public static void visitAllDirsAndFiles(File dir) {        System.out.println(dir);        if (dir.isDirectory()) {            String[] children = dir.list();            for (int i = 0; i < children.length; i++) {                visitAllDirsAndFiles(new File(dir, children[i]));            }        }    }}
View Code

以上代码运行输出结果为:

 

遍历目录/www/java/www/java/Car.class/www/java/FileUtil.class/www/java/FileUtil.java/www/java/HelloWorld.class/www/java/HelloWorld.java/www/java/HelloWorldDebug.class/www/java/HelloWorldDebug.java/www/java/Main$1.class/www/java/Main.class/www/java/Main.java/www/java/MainClass.class/www/java/MainClass.java/www/java/MyClass.class/www/java/outfilename/www/java/test.log
View Code

 

转载于:https://www.cnblogs.com/Mr-Feng/p/11376698.html

你可能感兴趣的文章
心得25--JDK新特性9-泛型1-加深介绍
查看>>
[转]ceph网络通信模块_以monitor模块为例
查看>>
HDOJ 1754 I Hate It(线段树基本操作)
查看>>
latex tree
查看>>
安装NVIDIA驱动时禁用自带nouveau驱动
查看>>
HDU-1255 覆盖的面积 (扫描线)
查看>>
css3学习01
查看>>
【USACO】 奶牛会展
查看>>
ActiveMQ笔记之点对点队列(Point-to-Point)
查看>>
继承和多态
查看>>
Dijkstra+计算几何 POJ 2502 Subway
查看>>
修复IE不能执行JS的方法
查看>>
程序员究竟该如何提高效率zt
查看>>
希尔排序法(缩小增量法)
查看>>
PHP编程基础学习(一)——数据类型
查看>>
MongoDB-JAVA-Driver 3.2版本常用代码全整理(2) - 查询
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>
如何阅读大型前端开源项目的源码(转)
查看>>
java.util.Arrays类详解
查看>>