package util;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Hashtable;
public class MemoryFileSystem implements FileSystem{
private final Hashtable<String, String> files = new Hashtable<String, String>();
public void makeFile(String path, String content) {
files.put(path, content);
}
public void makeDirectory(String path) {
files.put(path, "");
}
public boolean exists(String path) {
for (String filePath: files.keySet()) {
if (filePath.startsWith(path)) return true;
}
return false;
}
public String[] list(String path) {
ArrayList<String> result = new ArrayList<String>();
for (String filePath: files.keySet()) {
if (!filePath.startsWith(path)) continue;
if (filePath.equals(path)) continue;
String rest = filePath.substring(path.length() + 1);
int size = rest.indexOf("/");
if (size < 0) size = rest.length();
String newPath = rest.substring(0, size);
if (!result.contains(newPath)) result.add(newPath);
}
return result.toArray(new String[result.size()]);
}
public String getContent(String path) {
return files.get(path);
}
}