Demonstrates The Use of The File Class to Create Directories and Manipulate Files

From Java Example Source Code

Jump to: navigation, search

Contents

[edit] Overview - Demonstrates The Use of The File Class to Create Directories and Manipulate Files

This Java example shows how to use the File class to create directories and manipulate files.

[edit] Java Source Code

  • Package: com.bruceeckel
  • File: MakeDirectories.java
package com.bruceeckel;
 
//: 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);
	}
    }
}

[edit] What Result You Can Get

Run the program, you will get:


Usage:MakeDirectories path1 ...
Creates each path
Usage:MakeDirectories -d path1 ...
Deletes each path
Usage:MakeDirectories -r path1 path2
Renames from path1 to path2

[edit] Required External Library for this Java Example

Need nothing.


[edit] How to Run this Java Example Program

We recommend running this Java example program with Eclipse.

For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.

It's fairly easy.

Personal tools