public IDirectory convertNested() { if (isDirectory()) { return convert(); } else { try { return FileSystemImpl.getFSRoot(file, getParent()); } catch (IORuntimeException e) { return null; } } } }
public IFile getFile(String name) { File desiredFile = new File(file, name); IFile result = null; if (desiredFile.exists()) { if(!desiredFile.isDirectory()) result = new FileImpl(desiredFile, rootDirFile); else result = new DirectoryImpl(desiredFile, rootDirFile); } return result; }
public IDirectory getParent() { return isRoot() ? null : super.getParent(); }
public long getLastModified() { long result = super.getLastModified(); for (IFile aFile : this) { long tmpLastModified = aFile.getLastModified(); if (tmpLastModified > result) result = tmpLastModified; } return result; }
public List<IFile> listFiles() { List<IFile> files = new ArrayList<IFile>(); File[] filesInDir = file.listFiles(); if (filesInDir != null) { for (File f : filesInDir) { if (f.isFile()) { files.add(new FileImpl(f, rootDirFile)); } else if (f.isDirectory()) { files.add(new DirectoryImpl(f, rootDirFile)); } } } return files; }
public List<IFile> listAllFiles() { List<IFile> files = new ArrayList<IFile>(); File[] filesInDir = file.listFiles(); if (filesInDir != null) { for (File f : filesInDir) { if (f.isFile()) { files.add(new FileImpl(f, rootDirFile)); } else if (f.isDirectory()) { IDirectory subdir = new DirectoryImpl(f, rootDirFile); files.add(subdir); files.addAll(subdir.listAllFiles()); } } } return files; }