资源简介
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$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
相关资源
- 助学贷款管理系统纯JAVA语言编写,数
- 泡泡龙游戏(JAVA写的)
- MODEL 2 的登录功能实现 servlet+jsp+java
- 达内java培训内部资料pdf 百度网盘(有
- Java实现的打字游戏
- Java实现的五子棋
- 遗传算法 tsp java
- Java+Mysql课程设计 学生成绩管理系统连
- JAVA编程题全集100题及答案——直接打
- CMPP2.0JAVA调用
- 员工工资管理系统java+sql
- java考勤数据通勤系统
- Java本科毕业设计外文翻译文献.rar又需
- 用Java编写第一个区块链
- java排序可视化页面
- 数据挖掘ID3算法JAVA实现
- java集合类详解
- Java文字转语音_完整版本
- Java Web 画图
- 贫困生管理系统
- java 仓库管理系统(完整)easyui
- Java2Word.jar215404
- 文件资源管理器java文件打开删除复制
- Java web学生信息管理网页版
- 用java+实现的视频播放器可以打开本地
- DigitalImageProcessingAnAlgorithmicIntroductio
- java魔板游戏
- 一个类似超级玛丽的Java游戏
- 淘宝商城Java web项目
- 简单的JAVA日记本程序源代码
评论
共有 条评论