zoukankan      html  css  js  c++  java
  • File类遍历目录及文件

    1. 构造函数

    File(String args0)//使用一个表示文件或目录的路径的字符串创建一个File对象
    File(URL args0)//使用一个URL对象创建File对象
    File(File args0, String args1)//使用一个File对象(一般是目录)和一个文件名字符串创建File对象
    File(String args0, String args1)//使用一个目录字符串和一个文件名字符串创建对象
    

      使用File类需要注意两点:

      第一,File类用于表示文件或目录的名称、大小等信息,不能用于文件内容的访问

      第二,传参时路径中的斜杠需换成反斜杠或双斜杠

    2. 常用方法

    exists()//判断当前文件或目录是否存在
    
    mkdir()//创建单级目录,不能创建多级目录
    mkdirs()//创建多级目录
    createNewFile()//按照当前路径创建文件,使用该方法需要抛出异常,同时路径不存在时会产生异常
    
    delete()//删除当前目录或文件
    
    isDirectory()//判断当前File对象是否目录
    isFile()//判断当前File对象是否一个文件
    
    getAbsolutePath()//返回当前目录或文件的绝对路径
    getName()//返回当前目录或文件的名称
    getParent()//返回当前目录或文件的父级路径
    
    list()//返回一个String数组,为当前目录下的子目录和文件,不包括子目录下的文件或目录
    listFiles()//返回一个File数组,为当前目录下的子目录和文件,不包括子目录下的文件或目录
    

    3. 范例

      遍历目录,将所有层级的所有目录打印。

    import java.io.File;
    import java.io.IOException;
    
    public class FileTest {
    
    	public static void main(String[] args) {
    		File dir = new File("F:/documents/example");
    		listDirectory(dir);
    	}
    	
    	public static void listDirectory(File dir) {
    		if (!dir.exists()) {
    			throw new IllegalArgumentException("目录" + dir + "不存在");
    		}
    		if (!dir.isDirectory()) {
    			throw new IllegalArgumentException(dir + "不是目录");
    		}
    		File[] files = dir.listFiles();
    		if (files != null && files.length > 0) {
    			for (File file : files) {
    				if (file.isDirectory()) {
    					listDirectory(file);
    				} else {
    					System.out.println(file);
    				}
    			}
    		}
    	}
    
    }
    
  • 相关阅读:
    [SCOI2003]严格N元树
    CF280 C. Game on Tree
    [HDU2281]Square Number
    [HDU5391]Zball in Tina Town
    [HDU3988]Harry Potter and the Hide Story
    [HDU5794]A Simple Chess
    [HDU5451]Best Solver
    [HDU1724]Ellipse
    [HDU6304]Chiaki Sequence Revisited
    [HDU6343]Graph Theory Homework
  • 原文地址:https://www.cnblogs.com/joahyau/p/6719280.html
Copyright © 2011-2022 走看看