【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:TextCMDExecute.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
package com.zf.s11;//创建一个包
import java.io.*;//引入类
import java.util.Iterator;
import java.util.Map;
public class TextCMDExecute {// 操作ProcessBuilder调用外部命令的类
public synchronized void lookDirectory() throws Exception {// 查看目录
ProcessBuilder builder = new ProcessBuilder("cmd", "/c", "dir"); // 创建进程管理实例,查看目录
builder.directory(new File("F:/")); // 查看的目录
Process process = builder.start(); // 启动进程
InputStream is = process.getInputStream(); // 获得输入流
InputStreamReader isr = new InputStreamReader(is, "GBK");// 创建输入读流,编码方式为GBK
BufferedReader br = new BufferedReader(isr); // 创建读缓冲对象
String line;
while ((line = br.readLine()) != null) {// 循环读取数据
System.out.println(line);
}
}
public synchronized void setEnvironment() throws Exception {// 设置环境变量
ProcessBuilder pb = new ProcessBuilder("cmd.exe");// 创建进程管理实例
// 获取系统参数并打印显示
Map<String, String> env = pb.environment();
env.put("key1", "value2");// 设置环境变量
env.put("key2", "value2");
env.remove("key2");// 移除环境变量
Iterator it = env.keySet().iterator();// 根据键值获得集合
while (it.hasNext())// 遍历集合显示系统变量
{
System.out.println("系统变量:" + ((String) it.next()) + "="
+ env.get((String) it.next()));
}
pb.directory(new File("F:/temp"));// 设置工作目录
pb.start();// 启动进程
}
public synchronized void lookPhysicalAddress() throws Exception {// 查看物理地址
try {
ProcessBuilder pb = new ProcessBuilder("ipconfig", "/all");// 创建进程管理实例
Process process = pb.start();// 启动进程
byte[] b = new byte[1024];// 创建字节数组
StringBuffer sb = new StringBuffer();// 创建缓冲字符串
InputStream is = process.getInputStream(); // 获得输入流
while (is.read(b) != -1) {// 循环读取输入流中的数据
sb.append(new String(b));
}
is.close();
String str = sb.toString();// 转化为字符串
String physical = "Physical Address. . . . . . . . . :";
int i = str.indexOf(physical);// 获得字符串所在的下标
while (i > 0) {
str = str.substring(i + physical.length());// 截取字符串
System.out.printf("物理地址:%s%n", str.substring(1, 18));
i = str.indexOf(physical);// 获得physical字符串所在的下标
}
} catch (Exception e) {// 捕获异常
e.printStackTrace();
}
}
public synchronized void openWNWB() throws Exception {// 启动万能五笔
ProcessBuilder p = new ProcessBuilder("D:\\TDDOWNLOAD\\万能五笔\\wnwb.exe");// 创建进程管理实例
p.start();// 启动进程
}
public static void main(String[] args) throws Exception {// java程序主入口处
TextCMDExecute execute = new TextCMDExecute();// 创建实例
System.out.println("1.查看目录");
execute.lookDirectory();// 调用方法查看目录
System.out.println("2.设置查看环境变量");
execute.setEnvironment();// 调用方法设置变量
System.out.println("3.查看物理地址");
execute.lookPhysicalAddress();// 调用方法查看物理地址
System.out.println("4.启动万能五笔程序");
execute.openWNWB();
}
}
上一篇:
TextClock.java
下一篇:
市政公用事业管理体制创新问题研究