|
What this is
Other links
The source code/** Display the contents of the current working directory. The format is similar to the Unix ls -l This is an example of a bsh command written in Java for speed. @method void dir( [ String dirname ] ) */ package bsh.commands; import java.io.*; import bsh.*; import java.util.Date; import java.util.Vector; import java.util.GregorianCalendar; import java.util.Calendar; public class dir { static final String [] months = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; public static String usage() { return "usage: dir( String dir )\n dir()"; } /** Implement dir() command. */ public static void invoke( Interpreter env, CallStack callstack ) { String dir = "."; invoke( env, callstack, dir ); } /** Implement dir( String directory ) command. */ public static void invoke( Interpreter env, CallStack callstack, String dir ) { File file; try { file = env.pathToFile( dir ); } catch (IOException e ) { env.println("error reading path: "+e); return; } if ( !file.exists() || !file.canRead() ) { env.println( "Can't read " + file ); return; } if ( !file.isDirectory() ) { env.println("'"+dir+"' is not a directory"); } String [] files = file.list(); files = StringUtil.bubbleSort(files); for( int i=0; i< files.length; i++ ) { File f = new File( dir + File.separator + files[i] ); StringBuffer sb = new StringBuffer(); sb.append( f.canRead() ? "r": "-" ); sb.append( f.canWrite() ? "w": "-" ); sb.append( "_" ); sb.append( " "); Date d = new Date(f.lastModified()); GregorianCalendar c = new GregorianCalendar(); c.setTime(d); int day = c.get(Calendar.DAY_OF_MONTH); sb.append( months[ c.get(Calendar.MONTH) ] + " " + day ); if ( day < 10 ) sb.append(" "); sb.append(" "); // hack to get fixed length 'length' field int fieldlen = 8; StringBuffer len = new StringBuffer(); for(int j=0; j |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.