Demonstrates the use of the File class to create directories and manipulate files : Input Output Stream « File Input Output « Java






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








Related examples in the same category

1.Buffer EqualityBuffer Equality
2.Input and output with human-readable text filesInput and output with human-readable text files
3.Input and output of primitive values with binary filesInput and output of primitive values with binary files
4.Input and output of arrays and objects with binary filesInput and output of arrays and objects with binary files
5.Input and output of primitive values with random access binary filesInput and output of primitive values with random access binary files
6.Input and output using strings and string buffersInput and output using strings and string buffers
7.Timing Unbuffered Reads
8.Reading Bytes from a DataInputStreamReading Bytes from a DataInputStream
9.Comparing Buffered and Unbuffered Writing Performance
10.Read a file and print, using LineReader and System.out
11.Demonstrate ProgressMeterInputStream
12.Converting text to and from ByteBuffersConverting text to and from ByteBuffers
13.Demonstrates standard I/O redirection
14.Creating a very large file using mappingCreating a very large file using mapping
15.Mapping an entire file into memory for reading
16.Mapped IOMapped IO
17.What happens when the entire file isn't in your mapping region
18.Object serializationObject serialization
19.Locking portions of a mapped fileLocking portions of a mapped file
20.File read and writeFile read and write