Java tutorial
// : c12:MakeDirectories.java // Demonstrates the use of the File class to // create directories and manipulate files. // {Args: MakeDirectoriesTest} // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.io.File; public class MakeDirectories { private static void usage() { System.err.println("Usage:MakeDirectories path1 ...\n" + "Creates each path\n" + "Usage:MakeDirectories -d path1 ...\n" + "Deletes each path\n" + "Usage:MakeDirectories -r path1 path2\n" + "Renames from path1 to path2"); System.exit(1); } private static void fileData(File f) { System.out.println("Absolute path: " + f.getAbsolutePath() + "\n Can read: " + f.canRead() + "\n Can write: " + f.canWrite() + "\n getName: " + f.getName() + "\n getParent: " + f.getParent() + "\n getPath: " + f.getPath() + "\n length: " + f.length() + "\n lastModified: " + f.lastModified()); if (f.isFile()) System.out.println("It's a file"); else if (f.isDirectory()) System.out.println("It's a directory"); } public static void main(String[] args) { if (args.length < 1) usage(); if (args[0].equals("-r")) { if (args.length != 3) usage(); File old = new File(args[1]), rname = new File(args[2]); old.renameTo(rname); fileData(old); fileData(rname); return; // Exit main } int count = 0; boolean del = false; if (args[0].equals("-d")) { count++; del = true; } count--; while (++count < args.length) { File f = new File(args[count]); if (f.exists()) { System.out.println(f + " exists"); if (del) { System.out.println("deleting..." + f); f.delete(); } } else { // Doesn't exist if (!del) { f.mkdirs(); System.out.println("created " + f); } } fileData(f); } } } ///:~