Java调用系统命令学习(一)
呵呵。。
import java.io.*;
class Exec{
public static void main(String []args)throws IOException{
//Linux系统命令:ls -l
String command = "ls -l";
//获取当前系统的环境。
Runtime rt = Runtime.getRuntime();
//执行
Process p = null;
p = rt.exec(command);
//获取执行后的数据
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String msg = null;
//输出。
while((msg = br.readLine())!=null){
System.out.println(msg);
}
br.close();
}
}
上面的代码比较简单:
其中分为几个步骤:
1.获取当前系统的运行环境。
2.在当前系统执行系统命令。
3.执行后,获取其执行后的数据。
4.输出数据。
5.结束。
========================================================================
上面是对执行系统命令后,返回结果。其实还可以调用系统的程序执行,这在下一篇会讲到。
相关文档:
ThreadLocal的核心思想很简单:为每个独立的线程提供一个变量的副本。
ThreadLocal则使用了“拷贝副本”的方式,人人有份,你用你的,我用我的,大家互不影响,是“以空间换时间”。每个线程修改变量时,实际上修改的是变量的副本,不怕影响到其它线程。
& ......
前言
本文前言部分为我的一些感想,如果你只对本文介绍的Java实用技巧感兴趣,可以跳过前言直接看正文的内容。
本文的写作动机来源于最近接给人家帮忙写的一个小程序,主要用于管理分期付款的货款的一系列管理,包括过期款的纪录,过期款利息的计算,为提前付款的用户提供一些返款奖励等等,这些与本文无关自不必细说。 ......
要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下:
public synchronized void run()
{
}
从上面的代码可以看出,只要在void和public之间加上synchronized关键字,就可以使run方法同步,也就是说,对于同一个Java类的对象实例,run方法同 ......