Here you can find the source of getAllFilesAndFolders(File root, boolean containEmpty)
Parameter | Description |
---|---|
root | a parameter |
public static List<File> getAllFilesAndFolders(File root, boolean containEmpty)
/**// www . j av a2 s .c om * Copyright 2009 Welocalize, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.log4j.Logger; public class Main{ /** * Get all files and directories under the specified fold. * * @param root * @return */ public static List<File> getAllFilesAndFolders(File root, boolean containEmpty) { Assert.assertFileExist(root); List<File> files = new ArrayList<File>(); if (containEmpty || (!containEmpty && !isEmpty(root))) { files.add(root); } if (root.isDirectory()) { File[] fs = root.listFiles(); for (File f : fs) { if (containEmpty || (!containEmpty && !isEmpty(f))) { files.addAll(getAllFilesAndFolders(f, containEmpty)); } } } return files; } /** * Check whether a directory is empty * * @param f * @return */ public static boolean isEmpty(File f) { boolean empty = true; if (f.isFile()) { return false; } File[] files = f.listFiles(); for (File file : files) { if (!empty) { break; } else { if (file.isDirectory()) { empty = isEmpty(file); } else { empty = false; } } } return empty; } }