java程序与其他进程的数据通信
2011-02-05 18:26
274 查看
1) java程序与其他进程的通信
package IO;
import java.io.*;
import sun.security.provider.SystemSigner;
public class TestInOut implements Runnable {
Process p=null;//设置一个空进程
public TestInOut()
{
try {
p=Runtime.getRuntime().exec("java MyTest");//遇到问题,无法执行
new Thread(this).start(); //启动接收流的对象
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TestInOut tio=new TestInOut();//实例化主程序,调用构造函数,开启读取数据进程
tio.send();//开启输入数据方法
}
public void send()
{
try {
OutputStream ops=p.getOutputStream();//定义输出流
while (true) {
ops.write("help/r/n".getBytes());//写入数据
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void run()
{
try {
int count=0;
InputStream ips=p.getInputStream();//获得输入流
BufferedReader bfr=new BufferedReader(new InputStreamReader(ips));//包装输入流,按行读出
while (true) {
count++;
10c05
if(count>50)
{
break;
}
String strLine= bfr.readLine();//按行读取内存
System.out.println(strLine);//打印输出行?
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
调用的进程
package IO;
import java.io.*;
public class MyTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
while (true) {
//System.out.println("我来了");
String strLine=bfr.readLine();
if(strLine!=null)
{
System.out.println("hi:"+strLine);
}
else {
return;
}
}
}
}
问题分析:子进程不能执行
2) 把异常的字符串信息包装后发送出去
package IO;
import java.io.*;
public class TestPrintWriter {
public static void main(String[] args) {
try {
throw new Exception("test");//抛出的异常
} catch (Exception e) {
StringWriter sw=new StringWriter();//声明字符串写入流
PrintWriter pw=new PrintWriter(sw);//包装
e.printStackTrace(pw);//输出异常流
System.out.println(sw.toString());
System.out.println(e.getMessage());
}
}
}
相关文章推荐
- Java IO 系列----Java程序与其他进程的数据通信
- IO 输入与输出(9)-- Java程序与其他进程的数据通信
- JAVA程序与其他进程的数据通信
- 8 Java程序与其它进程的数据通信
- 第7讲 IO/输入与输出-Java程序与其它进程的数据通信
- Java.java程序与其他进程的通信
- (转)Java程序与其它进程的数据通信
- Java程序与其它进程的数据通信
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- Java程序与其它进程的数据通信
- 黑马程序员--java程序与其它进程的数据通信
- 黑马程序员-JAVA学习第7课-Java程序与其它进程的数据通信
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- java 程序与其它进程的数据通信
- JAVA输入输出(6)--Java虚拟机读写其他进程的数据
- 【进程间的通信】☞项目引入——C#通过Windows API 调用其他程序、触发按钮Click事件
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- 程序调用飞信API发送免费短信(JAVA例子,其他语言一样用)
- java基础--程序中数据的保存
- 用Java程序往mysql中写数据,出现如下错误