Main.java
/**
* 管道进程通讯, to exe.jar
* @author RuiLin.Xie - xKF24276
*
* 找时间扩展为可传对象
*/
public class Main
{
public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException
{
//执行程序
Process process = Runtime.getRuntime().exec("java -cp c:/exe.jar; com.java.exe.Exe");
//发送消息
OutputStream out = process.getOutputStream();
out.write("10000".getBytes());
out.flush();
//必需关闭输入流后才能得到返回消息
out.close();
//jdk1.5以上版本
//BufferedInputStream buf = new BufferedInputStream(process.getInputStream());
//Scanner s = new Scanner(buf);
//jdk1.4版本
//读取程序返回消息
InputStreamReader isr = new InputStreamReader(process.getInputStream());
BufferedReader s = new BufferedReader(isr);
String line = null;
StringBuffer all = new StringBuffer();
while((line = s.readLine()) != null)
{
all.append(line);
}
s.close();
isr.close();
//显示返回消息
System.out.println(all.toString());
}
Exe.java
/**
* 模仿exe程序,导出为jar包放到 c:\exe.jar
* @author RuiLin.Xie - xKF24276
*
*/
public class Exe
{
public static void main(String[] args) throws IOException
{
//准备接收父程序消息
InputStream in = System.in;
InputStreamReader isr = new InputStreamReader(in);
BufferedReader s = new BufferedReader(isr);
String line = null;
StringBuffer all = new StringBuffer();
//接收父程序消息
while((line = s.readLine()) != null)
{
all.append(line);
}
s.close();
isr.close();
//当父程序关闭输入流时,执行操作
//执行对应任务
int cmd = Integer.parseInt(all.toString());
String ret = null;
if(cmd == 10000)
{
ret = sayHello(cmd);
}
else
{
ret = errorCmd(cmd);
}
//返回消息给父程序
OutputStream out = System.out;
out.write(ret.getBytes());
out.flush();
out.close();
}
/**
* 说hello
* @param name
* @return
*/
public static String sayHello(int cmd)
{
return "hello. success :" + cmd;
}
/**
* 找不到命令
* @param entity
* @return
*/
public static String errorCmd(int cmd)
{
return "cmd not found :" + cmd;
}
}
参考文档:
GCJ编译java程序的头痛问题
http://www.cnblogs.com/huqingyu/archive/2004/11/13/63317.html
将java库转换为.net库(转载)
http://www.cnblogs.com/chegan/archive/2005/10/11/252103.html
JAVA IO之管道流总结大全
http://blog.chinaunix.net/u1/55983/showart_521503.html
共享内存在Java中的实现和应用
http://www.ibm.com/developerworks/cn/java/l-memshare/index.html
分享到:
相关推荐
demo: public static void main(String[] args) { GCJ02ToWGS84 a=new GCJ02ToWGS84(); HashMap,Double> hm= a.delta(22.456, 114.345); System.out.println(hm); }
在`CoordinateConvert.java`文件中,可能包含将WGS84坐标转换为GCJ-02和BD-09的算法,以及可能的反向转换。 `EvilTransform.java`这个名字暗示了它可能涉及到了坐标加密和解密的过程。在GCJ-02坐标系中,由于采用了...
`ModifyOffset.java`则可能是Java源代码文件,实现了GCJ02到WGS84的转换算法。代码可能会使用读取`axisoffset.dat`中的数据,然后根据一定的数学模型,对输入的GCJ02坐标进行处理,以得到对应的WGS84坐标。转换过程...
GPS经纬度偏移java端实现,wgs84转gcj02/gcj02转wgs84,亲测有效,稍微有点小偏差!
在IT行业中,有时我们需要将Java程序转换为可执行的Windows应用程序,即.exe文件,以便非开发人员能够方便地运行而不必安装Java环境。这个过程通常称为“打包”或“封装”。下面将详细介绍几种将Java程序转化为.exe...
WGS84 转为GCJ02的excel表格转换的公式 将WGS84坐标系转换为GCJ02坐标系(也称为火星坐标系)涉及到复杂的数学计算。虽然Excel本身并不直接支持这些地理坐标转换,但你可以通过编写自定义公式来实现这一点。以下是一...
本主题将深入探讨“BD09坐标”、“WGS84坐标”和“GCJ02坐标”之间的相互转换,以及如何进行这些转换的源码实现。 首先,我们来了解这三个坐标系统: 1. **WGS84坐标系统**:全球定位系统(GPS)采用的标准坐标...
GCJ是一种特殊的编译器,它可以将Java源代码编译成本地机器码,从而生成可以在没有JVM环境下运行的EXE文件。这种方法的优点在于生成的程序可以脱离JVM环境运行,缺点则是生成的EXE文件体积较大,并且可能存在兼容性...
Java实现百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
例如,常见的工具有Launch4j、JAR2EXE、GCJ等。这些工具的工作原理大致是将Java字节码转换为本地机器代码,并将其封装在一个Windows可执行文件中,同时确保运行时能够加载JVM并执行Java代码。 转换过程通常分为以下...
然而,为了使非Java环境下的用户也能方便地执行Java程序,开发者可以选择将其编译成可执行的Windows EXE文件。这里有两个主要方法将Java程序转换为EXE文件: 1. **创建可执行的JAR文件包** JAR(Java Archive)...
根据提供的文件信息,我们可以推断出这是一份关于GNU gcj(GNU Compiler for the Java Programming Language)的手册或文档。接下来将对文档标题、描述、标签以及部分内容进行深入解析,并提炼出关键知识点。 ### ...
国际通用WGS84(lng,lat) 转高德GCJ02(lng,lat)、百度BD09(lng,lat)
这篇文章将详细探讨基于给定博客中的源代码实现的WGS84到GCJ02的转换方法,并以此为出发点,深入讲解相关知识点。 首先,WGS84(World Geodetic System 1984)是国际上广泛使用的地心地固坐标系,它的原点位于地球...
return proj4('GCJ02', 'WGS84', [gcj02Lon, gcj02Lat]); } function wgs84ToCgcs2000(wgs84Lon, wgs84Lat) { return proj4('WGS84', 'CGCS2000', [wgs84Lon, wgs84Lat]); } ``` 在实际应用中,你可能需要将这些...
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH ``` 让 `/etc/profile` 文件修改后立即生效,可以使用以下命令:`# . /etc/profile` 卸载 JDK ...
Java实现windows与Linux平台上的百度坐标系,火星坐标系与大地坐标系之间的相互转换,有不能布署成功的请在线私我
火星坐标系GCJ2转换成WGS84坐标系
gps坐标转地图坐标算法,纠偏算法。GPS坐标就是传说中大地坐标系统(WGS-84),...所以大家都会使用GCJ-02坐标系,如腾讯搜搜地图、搜狐搜狗地图、阿里云地图、高德MapABC地图、灵图51ditu地图。百度坐标系统是BD-09。
火星坐标系(GCJ-02)转百度坐标系(BD-09)(火星坐标经度,火星坐标纬度),百度坐标数组 百度坐标系(BD-09)转火星坐标系(GCJ-02)(百度坐标纬度,百度坐标经度),火星坐标数组 WGS84转GCJ02(火星坐标系)(WGS84坐标系的经度,...