⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dir.java

📁 用java 编写的源码开放的文本编辑器。有很多有用的特性
💻 JAVA
字号:
/**	Display the contents of the current working directory.  	The format is similar to the Unix ls -l	<em>This is an example of a bsh command written in Java for speed.</em>		@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()";	}	public static void invoke( Interpreter env, NameSpace namespace ) {		//String dir = getCWD( namespace );		String dir = ".";		invoke( env, namespace, dir );	}	public static void invoke( 		Interpreter env, NameSpace namespace, 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 = 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<fieldlen; j++)				len.append(" ");			len.insert(0, f.length());			len.setLength(fieldlen);			// hack to move the spaces to the front			int si = len.toString().indexOf(" ");			if ( si != -1 ) {				String pad = len.toString().substring(si);				len.setLength(si);				len.insert(0, pad);			}						sb.append( len.toString() );			sb.append( " " + f.getName() );			if ( f.isDirectory() ) 				sb.append("/");			env.println( sb.toString() );		}	}	public static String [] bubbleSort( String [] in ) {		Vector v = new Vector();		for(int i=0; i<in.length; i++)			v.addElement(in[i]);		int n = v.size();		boolean swap = true;		while ( swap ) {			swap = false;			for(int i=0; i<(n-1); i++)				if ( ((String)v.elementAt(i)).compareTo(						((String)v.elementAt(i+1)) ) > 0 ) {					String tmp = (String)v.elementAt(i+1);					v.removeElementAt( i+1 );					v.insertElementAt( tmp, i );					swap = true;				}		}		String [] out = new String [ n ];		v.copyInto(out);		return out;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -