资源简介

Java源文件在线编辑, 并编译运行, 输出运行结果示例

资源截图

代码片段和文件信息

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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        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$StringSourceJavaobject.class

     文件       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


评论

共有 条评论