您的位置:首页 > 编程语言 > Java开发

java 外部调用c程序(后缀为.exe--是可以运行的程序--不是本地方法的实现)

2012-11-02 00:00 746 查看
首先1:编写C运用程序---并编译成可以执行的.exe文件

我在C中实现了两个数字的添加--并返回一个输出结果--这个结果在java中实现输出

就在这里-(在java中--一旦涉及到输入或输出--一定是流的操作)

Java代码如下:

(很简单)

package pxy;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.omg.CORBA.portable.OutputStream;

public class Test_C {

public static void main(String[] args){

//启用一个线程运行c语言程序

try {

Process proc = Runtime.getRuntime().exec("F:/pxy/json/pxy_1");///
InputStream in= proc.getInputStream();
InputStreamReader uu = new InputStreamReader(in);
BufferedReader bt = new BufferedReader(uu);
byte u8[] = new byte[1024];
String aa="";
while((aa=bt.readLine())!=null){

System.out.println("我要接受参数啦"+bt.readLine());
}

System.out.println("我正在完成一个\n");

byte ty[]=new byte[1024];
int a=0;
while((a=in.read())!=-1){
System.out.println("is "+in.read(ty,0,a));
}

} catch (IOException e) {

e.printStackTrace();
}

}

}

//Process proc = Runtime.getRuntime().exec("F:/pxy/json/pxy_1");--这里是加载C运用程序---

//这里注意一个问题--在C应用程序中输出--要在输出的前面在添加一个 printf(“\n”);

//之后再把你的结果返回

//很简单吧--

----------------搞定大家-----------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐