当前有一个小需求,扫描磁盘某个文件夹下所有目录和文件的信息,并存储到JSON中,方便在某些场景使用。
使用递归实现。代码如下:
package utiils;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.File;
import java.io.IOException;
/**
* @author chenda
*/
public class DirScanner {
/**
*
* @param path 文件路径
* @return 获取该目录下目录结构的json描述 文件目录放入单独数组,文件放入单独数组
*/
public static JSONObject getFileinfo(String path){
File f = new File(path);
JSONObject jsonObject=R_Dir(f);
System.out.println(AA.toJSONString());
return jsonObject;
}
/**
* 递归获取整个文件目录树
* @param f 传入文件 f
* @return 此目录下的文件信息描述JSONObject
*/
public static JSONObject R_Dir(File f){
JSONObject jsonObject=new JSONObject();
JSONArray dirArray =new JSONArray();
JSONArray jsonArray =new JSONArray();
File[] f