資源簡(jiǎn)介
Java源文件在線編輯, 并編譯運(yùn)行, 輸出運(yùn)行結(jié)果示例

代碼片段和文件信息
package?com.ding.javarun;
import?java.io.BufferedReader;
import?java.io.ByteArrayOutputStream;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.io.PrintStream;
import?java.io.PrintWriter;
import?java.io.Writer;
import?java.lang.reflect.InvocationTargetException;
import?java.lang.reflect.Method;
import?java.net.InetSocketAddress;
import?java.net.URI;
import?java.net.URLDecoder;
import?java.nio.charset.Charset;
import?java.util.Arrays;
import?java.util.HashMap;
import?java.util.linkedList;
import?java.util.List;
import?java.util.Locale;
import?java.util.Map;
import?javax.tools.JavaCompiler;
import?javax.tools.JavaCompiler.CompilationTask;
import?javax.tools.SimpleJavaFileobject;
import?javax.tools.StandardJavaFileManager;
import?javax.tools.ToolProvider;
import?com.sun.net.httpserver.HttpExchange;
import?com.sun.net.httpserver.HttpHandler;
import?com.sun.net.httpserver.HttpServer;
/**
?*?Java?online?executor.
?*?Your?can?post?simple?Java?source?code?to?server?compile?and?run?it?at?remote?server!
?*?
?*?How?to?show?result:
?*?1.?put?JDK/lib/tools.jar?to?your?JDK/jre/lib?folder!!!
?*?2.?run?the?JavaSourceHttpServer.main()?to?start?up?server
?*?3.?http://localhost:8080/coder
?*?4.?write?your?java?source?code?and?submit?it?to?server?you‘ll?get?the?compile?and?execute?result!
?*?
?*?@author?David?Ding
?*?@email?dingxw92@foxmail.com
?*
?*/
public?class?JavaSourceHttpServer?{
private?static?final?int?PORT?=??8080;
private?static?final?String?FLAG_RESULT?=?“flag_result“;
private?static?final?String?UTF8?=?“utf-8“;
private?static?Charset?UTF8_CS;
private?static?StringBuilder?HTML_WELCOME;
private?static?StringBuilder?HTML_EXECUTOR;
public?static?void?main(String[]?args)?throws?Exception?{
Locale.setDefault(Locale.US);?//?set?environment?as?English
UTF8_CS?=?Charset.forName(UTF8);?//?set?all?the?character?code?as?UTF-8
HTML_WELCOME?=?loadHtml(“welcome.html“);?//?welcome?HTML?page?your?can?input?your?java?source?code?here
HTML_EXECUTOR?=?loadHtml(“result.html“);?//?here?show?you?the?online?java?source?execute?result.
HttpServer?server?=?HttpServer.create(new?InetSocketAddress(PORT)?0);?//?listening?on?port
server.createContext(“/coder“?new?WelcomeHandler());?//?coder/welcome?page
server.createContext(“/result“?new?ExecutorHandler());?//?executor/result?page
server.start();
System.out.println(“********************************“);
System.out.println(“**??Java?HTTP?server?startup??**“);
System.out.println(“********************************“);
}
/**
?*?Load?the?template?HTML?page
?*?@param?html?file
?*?@return
?*?@throws?IOException
?*/
private?static?StringBuilder?loadHtml(String?html)?throws?IOException?{
File?htmlFile?=?new?File(html);
if?(!htmlFile.exists())?{
htmlFile?=?new?File(“src/“?+?html);
}
if?(!h
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????232??2017-02-03?09:26??JavaOnlineRunner\.classpath
?????文件??????????6??2017-02-03?09:26??JavaOnlineRunner\.gitignore
?????文件????????392??2017-02-03?09:26??JavaOnlineRunner\.project
?????文件???????1793??2017-02-03?14:15??JavaOnlineRunner\bin\com\ding\javarun\JavaSourceHttpServer$ExecutorHandler.class
?????文件???????1381??2017-02-03?14:15??JavaOnlineRunner\bin\com\ding\javarun\JavaSourceHttpServer$StringSourceJavaob
?????文件???????1264??2017-02-03?14:15??JavaOnlineRunner\bin\com\ding\javarun\JavaSourceHttpServer$WelcomeHandler.class
?????文件???????9205??2017-02-03?14:15??JavaOnlineRunner\bin\com\ding\javarun\JavaSourceHttpServer.class
?????文件????????438??2017-02-03?13:40??JavaOnlineRunner\bin\result.html
?????文件????????540??2017-02-03?13:55??JavaOnlineRunner\bin\welcome.html
?????文件???????9402??2017-02-03?14:15??JavaOnlineRunner\src\com\ding\javarun\JavaSourceHttpServer.java
?????文件????????438??2017-02-03?13:40??JavaOnlineRunner\src\result.html
?????文件????????540??2017-02-03?13:55??JavaOnlineRunner\src\welcome.html
?????目錄??????????0??2017-02-03?13:55??JavaOnlineRunner\bin\com\ding\javarun
?????目錄??????????0??2017-02-03?10:36??JavaOnlineRunner\src\com\ding\javarun
?????目錄??????????0??2017-02-03?13:55??JavaOnlineRunner\bin\com\ding
?????目錄??????????0??2017-02-03?09:24??JavaOnlineRunner\src\com\ding
?????目錄??????????0??2017-02-03?13:55??JavaOnlineRunner\bin\com
?????目錄??????????0??2017-02-03?09:24??JavaOnlineRunner\src\com
?????目錄??????????0??2017-02-03?13:55??JavaOnlineRunner\bin
?????目錄??????????0??2017-02-03?10:33??JavaOnlineRunner\src
?????目錄??????????0??2017-02-03?09:26??JavaOnlineRunner
-----------?---------??----------?-----??----
????????????????25631????????????????????21
評(píng)論
共有 條評(píng)論