易截截图软件、单文件、免安装、纯绿色、仅160KB

将Java代码打包为exe文件

原文来自:http://gocom.primeton.com/modules/newbb/item44444_44444.htm
1       基本信息
摘要:
          现在有很多的工具将Java代码打包为exe文件,执行时不需要再编写批处理文件,或者在命令行输入长长的classpath信息,为用户使用提供了很大的方便。这也是很多商业软件常常使用的方法。
作者:晏斐 
2       将Java代码打包为exe文件
       现在有很多的工具将Java代码打包为exe文件,执行时不需要再编写批处理文件,或者在命令行输入长长的classpath信息,为用户使用提供了很大的方便。这也是很多商业软件常常使用的方法。
       将Java代码打包为exe文件,一般需要两个步骤:
1.       编写本地代码,创建虚拟机,加载并执行Main Class。
2.       将Java代码打包为jar文件,并与本地代码exe文件合并。
下面的代码,会加载jvm.dll,并调用JNI_CreateJavaVM导出函数创建Java虚拟机,得到JNIEnv指针,然后调用FindClass查找Main Class,之后调用GetStaticMethodID方法得到main方法,并执行main方法。代码如下:
#include <windows.h>
#include <jni.h>
//#pragma comment( linker, "/subsystem:"console" /entry:"mainCRTStartup"" ) 
#pragma comment( linker, "/subsystem:"windows" /entry:"WinMainCRTStartup"" ) 
typedef jint (JNICALL *JNICREATEPROC)(JavaVM **, void **, void *);
bool setStream(JNIEnv *env, const char* pszFileName, const char* pszMethod);
//启动java虚拟机方法
//bool main(int argc,char *argv[])
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
...{
    //jvm动态库的路径
    const char szJvmPath[] = "d:\jdk1.5.0_07\jre\bin\server\jvm.dll";
    


相关文档:

java操作oracle数据库中的blob字段

oracle中的BLOB字段是存储2进制的文件,比如文件,图片等。
1、把本地文件写入数据库
package com.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.R ......

Java字节序

 以下对BIG-ENDIAN、LITTLE-ENDIAN的解释正好弄反了!!!!
  BIG-ENDIAN(大字节序、高字节序)
  LITTLE-ENDIAN(小字节序、低字节序)
  主机字节序
  网络字节顺序
  JAVA字节序
  1.BIG-ENDIAN、LITTLE-ENDIAN跟多字节类型的数据有关的比如int,short,long型,而对单字节数据byte却没有影响。BIG- ......

Java IO学习

文件对象的生成和文件的创建
 
/*
 * ProcessFileName.java
 *
 * Created on 2006年8月22日, 下午3:10
 *
 * 文件对象的生成和文件的创建
 */
package study.iostudy;
import java.io.*;
public class GenerateFile
{
    public static void main(String ......

java装箱与拆箱

/**
* ==号是比较两个基本类型是否相等,或者比较两个对象引用是否相同
*/
public class T {

public static void main(String[] args) {
Integer i1 = 128;
Integer i2 = 128;
int i3 = 128;
int i4 = 128;
Integer i5 = 127;
Integer i6 = 127; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号