Files
nanofiles/es/um/redes/nanoFiles/util/FileDatabase.java

44 lines
940 B
Java

package es.um.redes.nanoFiles.util;
import java.io.File;
import java.util.Map;
/**
* @author rtitos
*
* Utility class acting as database of local files shared by this peer.
*/
public class FileDatabase {
private Map<String, FileInfo> files;
public FileDatabase(String sharedFolder) {
File theDir = new File(sharedFolder);
if (!theDir.exists()) {
theDir.mkdirs();
}
this.files = FileInfo.loadFileMapFromFolder(new File(sharedFolder));
if (files.size() == 0) {
System.err.println("*WARNING: No files found in folder " + sharedFolder);
}
}
public FileInfo[] getFiles() {
FileInfo[] fileinfoarray = new FileInfo[files.size()];
int numFiles = 0;
for (FileInfo f : files.values()) {
fileinfoarray[numFiles++] = f;
}
return fileinfoarray;
}
public String lookupFilePath(String fileHash) {
FileInfo f = files.get(fileHash);
if (f != null) {
return f.filePath;
}
return null;
}
}