Mega Code Archive

 
Categories / Java / File Input Output
 

Demonstrates the use of the File class to create directories and manipulate files

// : 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);     }   } } ///:~