1.package com.cmd;
2.
3.import java.io.*;
4.
5.
6./**
7. * 模拟cmd的类
8. * @author lupin
9. * @version 1.0 2009-12-25
10. */
11.public class JavaCmd {
12. public static Process execCmd(String command){ //执行cmd命令的方法
13. JavaCmd.changDir(command);
14. Runtime run = Runtime.getRuntime();
15. Process pro =null;
16. try {
17. pro = run.exec("cmd /c" + command,null,new File(System.getProperty("user.dir")));
18. } catch (IOException e) {
19. // TODO Auto-generated catch block
20. e.printStackTrace();
21. }
22. return pro;
23. }
24.
25. public static void showResult(Process pro){ //回显命令执行结果的方法
26. InputStream is = pro.getInputStream();
27. BufferedReader br = new BufferedReader(new InputStreamReader(is));
28. String s = null;
29. try {
30. s = br.readLine();
31. } catch (IOException e) {
32. // TODO Auto-generated catch block
33. e.printStackTrace();
34. }
35. while(s != null){
36. System.out.println(s);
37. try {
38. s = br.readLine();
39. } catch (IOException e) {
40. // TODO Auto-generated catch block
41. e.printStackTrace();
42. }
43. }
44. }
45.
46. public static void showWindow(){ //显示cmd窗口
47. System.out.println("Microsoft Windows XP [版本 5.1.2600]");
48. System.out.println("<c> 版权所有 1985-2001 Microsoft Corp.");
49. String strHome = System.getProperty("user.home");
50. System.setProperty("user.dir", strHome);
51. String strDir = System.getProperty("user.dir");
52. System.out.print(strDir + ">");
53. }
54.
55. public static void changDir(String str){ //转换目录的方法
56. if(str.indexOf("dir") < 0 && str.endsWith(":")){
57. System.setProperty("user.dir", str + "\\");
58. }
59. else if(str.indexOf("cd") >= 0 && str.indexOf(":") >= 0){
60. int i = 3;
61. String str1 = str.substring(i);
62. System.setProperty("user.dir",str1);
63. }
64. else if(str.indexOf("cd") >= 0 && str.indexOf(":") < 0){
65. String dir = System.getProperty("user.dir");
66. String temp = dir.substring(0,2);
67. String tempStr = str.substring(3);
68. System.setProperty("user.dir", temp + tempStr);
69. }
70. else if(str.indexOf("cd /") == 0){
71. String dir = System.getProperty("user.dir");
72. String dirTmp = dir.substring(0, 3);
73. System.setProperty("user.dir", dirTmp);
74. }
75. else if(str.indexOf("cd..") == 0){
76.
77. }
78. }
79.}
package com.cmd;
import java.io.*;
/**
* 模拟cmd的类
* @author lupin
* @version 1.0 2009-12-25
*/
public class JavaCmd {
public static Process execCmd(String command){ //执行cmd命令的方法
JavaCmd.changDir(command);
Runtime run = Runtime.getRuntime();
Process pro =null;
try {
pro = run.exec("cmd /c" + command,null,new File(System.getProperty("user.dir")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return pro;
}
public static void showResult(Process pro){ //回显命令执行结果的方法
InputStream is = pro.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String s = null;
try {
s = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(s != null){
System.out.println(s);
try {
s = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void showWindow(){ //显示cmd窗口
System.out.println("Microsoft Windows XP [版本 5.1.2600]");
System.out.println("<c> 版权所有 1985-2001 Microsoft Corp.");
String strHome = System.getProperty("user.home");
System.setProperty("user.dir", strHome);
String strDir = System.getProperty("user.dir");
System.out.print(strDir + ">");
}
public static void changDir(String str){ //转换目录的方法
if(str.indexOf("dir") < 0 && str.endsWith(":")){
System.setProperty("user.dir", str + "\\");
}
else if(str.indexOf("cd") >= 0 && str.indexOf(":") >= 0){
int i = 3;
String str1 = str.substring(i);
System.setProperty("user.dir",str1);
}
else if(str.indexOf("cd") >= 0 && str.indexOf(":") < 0){
String dir = System.getProperty("user.dir");
String temp = dir.substring(0,2);
String tempStr = str.substring(3);
System.setProperty("user.dir", temp + tempStr);
}
else if(str.indexOf("cd /") == 0){
String dir = System.getProperty("user.dir");
String dirTmp = dir.substring(0, 3);
System.setProperty("user.dir", dirTmp);
}
else if(str.indexOf("cd..") == 0){
}
}
}
StartCmd.java
Java代码
1.package com;
2.
3.import java.util.Scanner;
4.
5.import com.cmd.*;
6.
7.public class StartCmd {
8.
9. /**
10. * @param args
11. */
12. public static void main(String[] args) {
13. Scanner input = new Scanner(System.in);
14. JavaCmd.showWindow();
15. while(true){
16. String command =input.nextLine();
17. Process pro = JavaCmd.execCmd(command);
18. JavaCmd.showResult(pro);
19. String strDir = System.getProperty("user.dir");
20. System.out.print(strDir + ">");
21. }
22. }
23.
24.}
分享到:
相关推荐
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...
JAVA JDK 11最新版可以帮助用户轻松的获取到JAVA的运行环境,让你在电脑上进行程序开发操作。JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量语法,可以有效的提高开发者的生产效率和Java应用程序的...
Sigar有C,C#,Java和Perl API,java版的API为sigar.jar sigar.jar的底层是用C语言编写的,它通过本地方法来调用操作系统API来获取系统相关数据。Windows操作系统下Sigar.jar 依赖sigar-amd64-winnt.dll或sigar-x86-...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
毕业设计 ssm java 药品销售系统.lwppt 实现功能包括管理员;管理员个人中心、用户管理、医生管理、药品信息管理、药品分类管理、订单配送管理、系统管理、订单管理,用户;个人中心、订单配送管理、订单管理,医生...
本系统的开发使获取基于Java的教师评教系统信息能够更加方便快捷,同时也使基于Java的教师评教教学评价信息变的更加系统化、有序化。系统界面较友好,易于操作。 关键词:基于Java的教师评教系统;JAVA;Mysql
1.2.3 Java网络操作系统 1.3 Java的特点 1.4 Java程序类型 1.5 JDK与JRE 1.5.1 Java开发工具包 1.5.2 Java运行环境 1.6 Java技术体系 1.7 Java虚拟机 1.7.1 虚拟机数据类型 1.7.2 Java虚拟机的生命周期 ...
free:该函数获得指向由 malloc 分配的内存片段的指针,并将其释放,以便以后的程序或操作系统使用(实际上,一些 malloc 实现只能将内存归还给程序,而无法将内存归还给操作系统)。 物理内存和虚拟内存 要理解...