A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[Java] 纯文本查看 复制代码
import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class MyDOS {

	public static void main(String[] args) {
		myDOS();
	}
	public static void myDOS() {
		Scanner sc = new Scanner(System.in);
		File now = new File("C:\\Users\\Administrator");
		for(String line;;) {
			System.out.print(now.getAbsolutePath() + ">");
			line = sc.nextLine().trim();
			if( line == null || "".equals(line) ) continue;
			if( "exit".equalsIgnoreCase(line) ) break;
			if( "list".equals(line) ) {
				list(now);
			}
			else if( line.toLowerCase().startsWith("cd") ){
				line = line.substring(2).trim();
				if( line.matches("(\\.\\.?)((/\\.\\.)*(/\\.)*)*/?") ) {
					int n = line.length() - line.replace("..", ".").length();
					while( n-- > 0 ) {
						File t = now.getParentFile();
						if( t == null )
							break;
						now = t;
					}
					continue;
				} else {
					File f = null;
					try {
						f = new File(now, line).getCanonicalFile();
					} catch (IOException e) {
						e.printStackTrace();
					}
					if( f!=null && f.exists() && f.isDirectory() ) {
						now = f;
					}
					continue;
				}
			} else {
				System.out.println("不支持的命令: " + line);
			}
			
		}
		System.out.println("over.");
	}
	public static void list(File root){
		if( !root.exists() )
			return;
		if( root.isDirectory() ) {
			for( File file : root.listFiles() )
				System.out.println( file.getName() );
		} else {
			System.out.println( root.getName() );
		}
	}
}

大家多多交流^_^

2 个回复

正序浏览
Mr丶Lee 发表于 2016-9-11 22:46
沙发,来膜拜我们的大神

老杰,你来啦?一起成长~
回复 使用道具 举报
沙发,来膜拜我们的大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马