• Авторизация


Рабочее(развлекательное как всегда) 12-01-2005 17:24 к комментариям - к полной версии - понравилось!


import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.net.*;
import java.io.*;
import com.sun.tools.javac.Main;


public class test {
public static void main(String[] args) {
new test().run();
}

public String generateJavaClass0() {
StringBuffer sb = new StringBuffer();
sb.append("public class C1 {\n");
sb.append("public static void start() {\n");
sb.append("System.out.println(\"0\");\n");
sb.append("}\n}");
return sb.toString();
}

public String generateJavaClass1() {
StringBuffer sb = new StringBuffer();
sb.append("public class C1 {\n");
sb.append("public static void start() {\n");
sb.append("System.out.println(\"1\");\n");
sb.append("}\n}");
return sb.toString();
}

public void run() {
try {
// 0
URL[] urls = null;
File dir = new File(".");
URL u = dir.toURL();
urls = new URL[] {u};
ClassLoader cl = URLClassLoader.newInstance(urls, null);
saveFile("C1.java", generateJavaClass0());
Main.compile(new String[] { "C1.java" });
Class cls = cl.loadClass("C1");
cls.getMethod("start", null).invoke(null, null);
// 1
cl = null;
System.gc();
cl = URLClassLoader.newInstance(urls, null);
saveFile("C1.java", generateJavaClass1());
Main.compile(new String[] { "C1.java" });
cls = cl.loadClass("C1");
cls.getMethod("start", null).invoke(null, null);
} catch (Exception e) {
e.printStackTrace();
}
}

public void saveFile(String filename, String text) throws IOException {
BufferedWriter out = new BufferedWriter(new FileWriter(filename));
try {
out.write(text);
} finally {
out.flush();
out.close();
}
}
}
вверх^ к полной версии понравилось! в evernote
Комментарии (3):
tosik 12-01-2005-18:32 удалить
Я смотрю ты все творишь и творишь однако
yaorange 12-01-2005-18:55 удалить
да делать сегодня нефиг - работы мало, вот и извращаюсь)))
maybe_vs 13-01-2005-17:32 удалить
Egnaro, еще бы понять это творение :)
ниче ить непонятно :)


Комментарии (3): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Рабочее(развлекательное как всегда) | yaorange - Некоторые проявления неких внутренних форм. | Лента друзей yaorange / Полная версия Добавить в друзья Страницы: раньше»