* improved utility classes

* nested temporary folders
This commit is contained in:
Reinhard Pointner 2008-03-25 21:03:32 +00:00
parent 683c5e4cee
commit ee6dc82d50
3 changed files with 68 additions and 22 deletions

View File

@ -6,6 +6,7 @@ import java.awt.Dimension;
import java.awt.Point;
import java.awt.Window;
import java.io.File;
import java.io.FileFilter;
import java.util.List;
import java.util.regex.Pattern;
@ -112,4 +113,22 @@ public class FileBotUtil {
return new Point(p.x + d.width / 4, p.y + d.height / 7);
}
public static final FileFilter FOLDERS_ONLY = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
};
public static final FileFilter FILES_ONLY = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isFile();
}
};
}

View File

@ -3,11 +3,11 @@ package net.sourceforge.filebot.ui.panel.analyze;
import java.io.File;
import java.io.FileFilter;
import java.util.List;
import javax.swing.tree.DefaultMutableTreeNode;
import net.sourceforge.filebot.FileBotUtil;
import net.sourceforge.filebot.ui.transferablepolicies.BackgroundFileTransferablePolicy;
@ -56,12 +56,12 @@ class FileTreeTransferPolicy extends BackgroundFileTransferablePolicy<DefaultMut
if (file.isDirectory() && !Thread.currentThread().isInterrupted()) {
// run through folders first
for (File f : file.listFiles(FOLDER_FILTER)) {
for (File f : file.listFiles(FileBotUtil.FOLDERS_ONLY)) {
node.add(getTree(f));
}
// then files
for (File f : file.listFiles(FILE_FILTER)) {
for (File f : file.listFiles(FileBotUtil.FILES_ONLY)) {
node.add(getTree(f));
}
}
@ -75,22 +75,4 @@ class FileTreeTransferPolicy extends BackgroundFileTransferablePolicy<DefaultMut
return "files and folders";
}
private static final FileFilter FOLDER_FILTER = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
};
private static final FileFilter FILE_FILTER = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isFile();
}
};
}

View File

@ -4,7 +4,9 @@ package net.sourceforge.tuned;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -56,8 +58,9 @@ public class TemporaryFolder {
public File createFile(String name) throws IOException {
if (!root.exists())
if (!root.exists()) {
root.mkdir();
}
File file = new File(root, name);
file.createNewFile();
@ -75,6 +78,48 @@ public class TemporaryFolder {
}
public File getFolder() {
return root;
}
public TemporaryFolder createFolder(String name) {
if (!root.exists()) {
root.mkdir();
}
TemporaryFolder folder = new TemporaryFolder(new File(root, name));
folder.root.mkdir();
return folder;
}
public List<File> list(boolean recursive) {
List<File> list = new ArrayList<File>();
list(root, list, recursive);
return list;
}
private void list(File file, List<File> list, boolean recursive) {
if (file.isDirectory()) {
for (File entry : file.listFiles()) {
if (entry.isDirectory()) {
if (recursive) {
list(entry, list, recursive);
}
} else {
list.add(entry);
}
}
}
}
public void delete() {
delete(root);
}