package net.alcuria.umbracraft.util;
import java.io.File;
import java.util.HashSet;
import com.badlogic.gdx.utils.Array;
public class FileUtils {
public static Array<String> getDirectoriesAt(String path) {
File rootFile = new File(path);
File[] list = rootFile.listFiles();
Array<String> files = new Array<String>();
for (File f : list) {
if (f.isDirectory()) {
files.add(f.getName());
}
}
return files;
}
public static Array<String> getFilesAt(String path) {
return getFilesAt(path, false);
}
public static Array<String> getFilesAt(String path, boolean recursive) {
Array<String> files = new Array<String>();
walk(path, files, "", recursive);
return files;
}
private static void walk(String path, Array<String> lines, String prefix, boolean recursive) {
File rootFile = new File(path);
File[] list = rootFile.listFiles();
if (list == null) {
return;
}
HashSet<String> used = new HashSet<>();
for (File f : list) {
if (f.isDirectory() && recursive) {
walk(f.getAbsolutePath(), lines, prefix + f.getName() + "\\", recursive);
} else {
String nameWithoutExtension = f.getName().replaceFirst("[.][^.]+$", "");
if (nameWithoutExtension == null || nameWithoutExtension.length() < 1) {
continue;
}
if (used.contains(nameWithoutExtension)) {
nameWithoutExtension = f.getName().replace('.', '_');
}
lines.add(nameWithoutExtension);
}
}
}
}