Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* */ package craftlandia.loader;
- /* */
- /* */ import java.io.BufferedReader;
- /* */ import java.io.File;
- /* */ import java.io.FileNotFoundException;
- /* */ import java.io.FileOutputStream;
- /* */ import java.io.IOException;
- /* */ import java.io.InputStream;
- /* */ import java.io.InputStreamReader;
- /* */ import java.io.OutputStream;
- /* */ import java.io.PrintStream;
- /* */ import java.lang.reflect.InvocationTargetException;
- /* */ import java.util.Map;
- /* */
- /* */
- /* */
- /* */
- /* */ public class Loader
- /* */ {
- /* */ public static void main(String[] args)
- /* */ throws FileNotFoundException, IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InterruptedException
- /* */ {
- /* 23 */ File workingFolder = new File("data");
- /* 24 */ if (workingFolder.exists())
- /* */ {
- /* 26 */ if (!workingFolder.isDirectory())
- /* */ {
- /* 28 */ workingFolder.mkdirs();
- /* */ }
- /* */
- /* */ }
- /* */ else {
- /* 33 */ workingFolder.mkdirs();
- /* */ }
- /* 35 */ InputStream stream = Loader.class.getResourceAsStream("launcher.jar");
- /* */
- /* */
- /* 38 */ byte[] buffer = new byte['က'];
- /* */ try {
- /* 40 */ OutputStream resStreamOut = new FileOutputStream(new File(workingFolder + File.separator + "launcher.jar"));
- /* 41 */ int readBytes; while ((readBytes = stream.read(buffer)) > 0) {
- /* 42 */ resStreamOut.write(buffer, 0, readBytes);
- /* */ }
- /* */ } catch (IOException e1) {
- /* 45 */ e1.printStackTrace();
- /* */ }
- /* 47 */ String[] arguments = new String[args.length + 4];
- /* 48 */ for (int i = 0; i < arguments.length; i++)
- /* */ {
- /* 50 */ switch (i)
- /* */ {
- /* */ case 0:
- /* 53 */ arguments[0] = "java";
- /* 54 */ break;
- /* */ case 1:
- /* 56 */ arguments[1] = ("-Duser.home=" + workingFolder.getAbsolutePath());
- /* 57 */ break;
- /* */ case 2:
- /* 59 */ arguments[2] = "-jar";
- /* 60 */ break;
- /* */ case 3:
- /* 62 */ arguments[3] = (workingFolder.getAbsolutePath() + File.separator + "launcher.jar");
- /* 63 */ break;
- /* */ default:
- /* 65 */ arguments[i] = args[(i - 4)];
- /* */ }
- /* */
- /* */ }
- /* 69 */ ProcessBuilder builder = new ProcessBuilder(arguments);
- /* 70 */ Map<String, String> env = builder.environment();
- /* 71 */ env.put("APPDATA", workingFolder.getAbsolutePath());
- /* 72 */ Process p = builder.start();
- /* 73 */ InputStreamReader isr = new InputStreamReader(p.getInputStream());
- /* 74 */ BufferedReader br = new BufferedReader(isr);
- /* */ String lineRead;
- /* 76 */ while ((lineRead = br.readLine()) != null) {
- /* 77 */ System.out.println(lineRead);
- /* */ }
- /* 79 */ int rc = p.waitFor();
- /* */ }
- /* */ }
Add Comment
Please, Sign In to add comment