package edu.mbl.jif.io;
import java.io.File;
import java.io.IOException;
import java.util.Stack;
public class UtilsFile
{
public UtilsFile () {}
public static void showCurrentDirectories () {
File dir1 = new File(".");
File dir2 = new File("..");
try {
System.out.println(". (current): " + dir1.getCanonicalPath());
System.out.println(".. (parent): " + dir2.getCanonicalPath());
System.out.println("user.dir: " + System.getProperty("user.dir"));
System.out.println("user.home: " + System.getProperty("user.home"));
System.out.println("java.io.tmpdir: " + System.getProperty("java.io.tmpdir"));
}
catch (Throwable t) {
t.printStackTrace();
}
}
public static void dirStack () {
// @version 1.10 1999-07-07, author Cay Horstmann
Stack directoryStack = new Stack();
File root = new File(File.separator + ".");
directoryStack.push(root);
while (directoryStack.size() > 0) {
File currentDirectory = (File) directoryStack.pop();
System.out.println(currentDirectory);
String[] subdirectories = currentDirectory.list();
if (subdirectories != null) {
for (int i = 0; i < subdirectories.length; i++) {
try {
String fname = currentDirectory.getCanonicalPath()
+ File.separator + subdirectories[i];
File f = new File(fname);
if (f.isDirectory()) {
directoryStack.push(f);
}
}
catch (IOException e) {
System.out.println(e);
}
}
}
}
}
public static void main (String[] args) {
showCurrentDirectories();
dirStack();
}
}