import java.io.File; public class Demo1 { public static void main(String[] args) { File dir=new File("D:\\CCC");//瀏覽F盤a文件夾下的全部內容 listFile(dir,""); } public static void listFile(File dir,String spance) { File[] files=dir.listFiles(); //列出全部的子文件 for(File file :files) { if(file.isFile())//若是是文件,則輸出文件名字 { System.out.println(spance+file.getName()); }else if(file.isDirectory())//若是是文件夾,則輸出文件夾的名字,並遞歸遍歷該文件夾 { System.out.println(spance+file.getName()); listFile(file,"|--"+spance);//遞歸遍歷 } } } }
解壓效果以下:java
在項目中,每每會遇到,遍歷文件夾中的文件,分清裏面配置文件的父子關係,代碼以下:ui
/** * 文件夾遍歷 * @param path * @throws Exception */ public void traverse(String path,String parent_id) throws Exception { System.out.println("path---->" + path); File file = new File(path); Map<String, Object> map = new HashMap<String, Object>(); if (file.exists()) { File[] files = file.listFiles(); if (files.length == 0) { System.out.println("文件夾是空的!"); return; } else { String k_id = UuidUtil.get32UUID(); for (File file2 : files) { if (file2.isFile()){//文件 if (file2.getName().endsWith(".cfg")) { System.out.println("文件:" + file2.getAbsolutePath()); map = readCfg(new FileInputStream(file2)); System.out.println("-------------"+file2.getAbsolutePath()+"--start-----------"); map.put("k", kvalue); parent_id = k_id; System.out.println("-------------"+file2.getAbsolutePath()+"--end-----------"); } } } for (File file2 : files) { if (file2.isDirectory()) {//文件夾 traverse(request,file2.getAbsolutePath(),parent_id); parent_id = k_id; } } } } else { System.out.println("文件不存在!"); } }