|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难静态|实行静态的实行一段复杂代码,接纳天生java文件,挪用javac编译,反射实行的体例。
只是一个复杂测试,有些中央有待完美。
代码以下
--------------------------------------------------------------------------------
importjava.io.*;
/**
*静态实行一段代码(天生文件->编译->实行)
*@authorkingfish
*@version1.0
*/
publicclassTestRun{
privateStringfileName="Test.java";
privateStringclassName="Test.class";
publicTestRun(){
Filef=newFile(fileName);
if(f.exists())f.delete();
f=newFile(className);
if(f.exists())f.delete();
}
/**
*创立java文件
*/
publicvoidcreateJavaFile(Stringbody){
Stringhead="publicclassTest{
publicstaticvoidrunCode(){";
Stringend="
}
}";
try{
DataOutputStreamdos=newDataOutputStream(newFileOutputStream(
fileName));
dos.writeBytes(head);
dos.writeBytes(body);
dos.writeBytes(end);
dos.close();
}
catch(Exceptione){
e.printStackTrace();
}
}
/**
*编译
*/
publicintmakeJavaFile(){
intret=0;
try{
Runtimert=Runtime.getRuntime();
Processps=rt.exec("cmd/cjavac"+fileName);
ps.waitFor();
byte[]out=newbyte[1024];
DataInputStreamdos=newDataInputStream(ps.getInputStream());
dos.read(out);
Strings=newString(out);
if(s.indexOf("Exception")>0){
ret=-1;
}
}
catch(Exceptione){
ret=-1;
e.printStackTrace();
}
returnret;
}
/**
*反射实行
*/
publicvoidrun(){
try{
Class.forName("Test").getMethod("runCode",newClass[]{}).invoke(null,newObject[]{});
}
catch(Exceptione){
e.printStackTrace();
}
}
/**
*测试
*/
publicstaticvoidmain(String[]args){
Stringcmd="System.out.println("usage:javaTestRuninti=1;System.out.println(i+100);");";
if(args.length>=1){
cmd=args[0];
}
TestRunt=newTestRun();
t.createJavaFile(cmd);
if(t.makeJavaFile()==0){
t.run();
}
}
}
--------------------------------------------------------------------------------
测试:
javaTestRunSystem.out.println("Hello,World!");
javaTestRun"inti=1;intj=2;System.out.println(i+j);"
--------------------------------------------------------------------------------
若有任何成绩,请斧正!
kingfish
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。 |
|