import java.io.*;
import java.util.*;
import java.text.*;
class ListFiles
{
public static void main(String[] args) throws IOException
{
listRoots();
// Print current directory name:
String curDir = System.getProperty("user.dir");
File dir = new File(curDir);
System.out.println(dir.getCanonicalPath() + ":");
System.out.println("\trelative path: " + dir.getPath());
System.out.println("\tabsolute path: "
+ dir.getAbsolutePath());
System.out.println("\tas URL: " + dir.toURL());
System.out.println("==========");
// List files:
File[] files = dir.listFiles();
SimpleDateFormat dateFormat =
new SimpleDateFormat("MM-dd-yyyy kk:mm:ss");
DecimalFormat sizeFormat =
new DecimalFormat("########");
for (int i = 0; i < files.length; ++i)
{
String name = buildColumn(files[i].getName(), 20);
System.out.print(name + " ");
String size =
buildColumn(
sizeFormat.format(files[i].length()), 8
);
System.out.print(size + " ");
Date when = new Date(files[i].lastModified());
System.out.print(dateFormat.format(when) + " ");
if (files[i].isDirectory())
System.out.print("d");
if (files[i].canRead())
System.out.print("r");
if (files[i].canWrite())
System.out.print("w");
if (files[i].isHidden())
System.out.print("h");
System.out.println();
}
}
static void listRoots()
{
File[] roots = File.listRoots();
System.out.println("Roots on system:");
for (int i = 0; i < roots.length; ++i)
System.out.println("\t"+roots[i].getAbsolutePath());
System.out.println();
}
static String buildColumn(String s, int len)
{
// Force a string into a fixed-size column:
// ... implementation omitted
}
}
/* Output:
Roots on system:
C:\
D:\
C:\CUJ:
relative path: C:\CUJ
absolute path: C:\CUJ
as URL: file:/C:/CUJ/
==========
Compare.java 414 11-22-2000 11:47:39 rw
Employee.java 2308 11-21-2000 15:51:27 rw
employees.dat 128 11-18-2000 17:59:28 rw
FileViewer.java 1830 11-18-2000 18:03:21 rw
FindFile.java 962 11-21-2000 15:50:08 rw
ListAllFiles.java 1310 11-22-2000 12:04:11 rw
ListFiles.class 2504 11-22-2000 12:10:51 rw
ListFiles.java 2631 11-21-2000 15:47:07 rw
ListSomeFiles.java 1400 11-22-2000 11:26:44 rw
ListZip.java 470 11-18-2000 23:48:01 rw
LogFile.java 578 11-21-2000 15:14:11 rw
logfile1.txt 44 11-21-2000 15:15:55 rw
LogFileTest.java 471 11-21-2000 15:37:27 rw
ProcessRecords.java 1341 11-21-2000 16:05:52 rw
PropTest.java 990 11-22-2000 11:07:15 rw
records.c 1059 11-21-2000 15:54:37 rw
Stack.java 463 11-08-2000 12:00:04 rw
temp 0 11-22-2000 12:01:27 drw
Test.java 947 11-20-2000 18:36:01 rw
ViewFile.java 1538 11-21-2000 15:55:47 rw
*/
End of Listing