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

📄 lesson6.java

📁 用JAVA模拟DOS环境,执行DIR
💻 JAVA
字号:
//lesson6(每个命令只有本三个字符,容错能力比较差;)
import java.io.*;
import java.util.*;

public class lesson6
{
	static  File fDir=new File(File.separator);
	static  String  strfile="F:"+File.separator;     
	
     public static void main(String[] args) throws Exception
     {    
          BufferedReader in=new  BufferedReader(new InputStreamReader(System.in));
         // String readline="";
        //  String cmd="";
         // String add="";
         print();
         while(true){
         String readline="";
          String cmd="";
          String add="";
         try
		{
			
	    readline=in.readLine();
		}
		 catch(IOException e){}
		 //做匹配;
		 if(4>readline.length())
		 {
		 	cmd=readline;
		}
		else
		{
		cmd=readline.substring(0,3);
		//System.out.println(cmd);
		add=readline.substring(4);
		}
		 //
		 if(cmd.equals("bye")) break;
		 if(cmd.equals("dir"))
		 {
		 	cmddir(add);
		 }
		 if(cmd.equals("set"))
		 {
		 	cmdset(add);
		 }
		 if(cmd.equals("del"))
		 {
		 	cmddel(add);
		 }
		 if(cmd.equals("rna"))
		 {
		 	cmdrna(add);
		 }
		 else System.out.println("请输入正确的命令");
		 print();
		 }
        
}

static public void cmddel(String x)
{
	String add=x;
	File f=new File(strfile+add);
	if(f.delete())
		System.out.println("this file "+add+"is delete");
    	else 
		  System.out.println("cann't delete this file "+add);
	     
}

static public void cmdrna(String x)
{
	String add=x;
	String newname="";
	BufferedReader in=new  BufferedReader(new InputStreamReader(System.in));
	System.out.println("please input the new name");
	 try
		{	
	    newname=in.readLine();
		}
		 catch(IOException e){}
	File f=new File(strfile+add);
	File  newf=new File(strfile+newname);
	if(f.renameTo(newf))
		System.out.println("file "+add+" is rename"+newname);
    	else 
		  System.out.println("cann't rename this file "+add);
	     
}

static public void cmdset(String x)
{
	String add=x;
	if(x.equals(""))
	System.out.println("请给出您要设置的路径");
	else
	strfile=add;
	
//	set path
}

static public void cmddir(String x)
{
  final String add=x;
  String [] names;
  File f=new File(strfile);
  if(add.equals(""))
  {
  names=f.list();
  for(int i=0;i<names.length;i++)
  System.out.println(names[i]); 
   }
   else
   {
   	 names= f.list(new FilenameFilter() {
                     public boolean accept(File dir, String n) {
                      String m = new File(n).getName();
                      return m.indexOf(add) != -1;
                          }
                       });
              for(int i = 0; i < names.length; i++)
                            System.out.println(names[i]);
   }  
   }
   
   
   
 static  void print()
	{
	File f=new File(strfile);
    System.out.print('\n'+f.getPath());
	}
   
}

/*
class dirthread extends Thread
{
  dirthread(String std)
  {
  	str=std;
  	}
public void run()
{
  File f=new File(str);
  names=f.list();
  for(int i=0;i<names.length;i++)
   System.out.println(names[i]);  
   lesson6.print(); 
   }
   
 String [] names;
 String str;
}
*/

⌨️ 快捷键说明

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