Guest User

Untitled

a guest
Jun 25th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. /* */ package craftlandia.loader;
  2. /* */
  3. /* */ import java.io.BufferedReader;
  4. /* */ import java.io.File;
  5. /* */ import java.io.FileNotFoundException;
  6. /* */ import java.io.FileOutputStream;
  7. /* */ import java.io.IOException;
  8. /* */ import java.io.InputStream;
  9. /* */ import java.io.InputStreamReader;
  10. /* */ import java.io.OutputStream;
  11. /* */ import java.io.PrintStream;
  12. /* */ import java.lang.reflect.InvocationTargetException;
  13. /* */ import java.util.Map;
  14. /* */
  15. /* */
  16. /* */
  17. /* */
  18. /* */ public class Loader
  19. /* */ {
  20. /* */ public static void main(String[] args)
  21. /* */ throws FileNotFoundException, IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InterruptedException
  22. /* */ {
  23. /* 23 */ File workingFolder = new File("data");
  24. /* 24 */ if (workingFolder.exists())
  25. /* */ {
  26. /* 26 */ if (!workingFolder.isDirectory())
  27. /* */ {
  28. /* 28 */ workingFolder.mkdirs();
  29. /* */ }
  30. /* */
  31. /* */ }
  32. /* */ else {
  33. /* 33 */ workingFolder.mkdirs();
  34. /* */ }
  35. /* 35 */ InputStream stream = Loader.class.getResourceAsStream("launcher.jar");
  36. /* */
  37. /* */
  38. /* 38 */ byte[] buffer = new byte['က'];
  39. /* */ try {
  40. /* 40 */ OutputStream resStreamOut = new FileOutputStream(new File(workingFolder + File.separator + "launcher.jar"));
  41. /* 41 */ int readBytes; while ((readBytes = stream.read(buffer)) > 0) {
  42. /* 42 */ resStreamOut.write(buffer, 0, readBytes);
  43. /* */ }
  44. /* */ } catch (IOException e1) {
  45. /* 45 */ e1.printStackTrace();
  46. /* */ }
  47. /* 47 */ String[] arguments = new String[args.length + 4];
  48. /* 48 */ for (int i = 0; i < arguments.length; i++)
  49. /* */ {
  50. /* 50 */ switch (i)
  51. /* */ {
  52. /* */ case 0:
  53. /* 53 */ arguments[0] = "java";
  54. /* 54 */ break;
  55. /* */ case 1:
  56. /* 56 */ arguments[1] = ("-Duser.home=" + workingFolder.getAbsolutePath());
  57. /* 57 */ break;
  58. /* */ case 2:
  59. /* 59 */ arguments[2] = "-jar";
  60. /* 60 */ break;
  61. /* */ case 3:
  62. /* 62 */ arguments[3] = (workingFolder.getAbsolutePath() + File.separator + "launcher.jar");
  63. /* 63 */ break;
  64. /* */ default:
  65. /* 65 */ arguments[i] = args[(i - 4)];
  66. /* */ }
  67. /* */
  68. /* */ }
  69. /* 69 */ ProcessBuilder builder = new ProcessBuilder(arguments);
  70. /* 70 */ Map<String, String> env = builder.environment();
  71. /* 71 */ env.put("APPDATA", workingFolder.getAbsolutePath());
  72. /* 72 */ Process p = builder.start();
  73. /* 73 */ InputStreamReader isr = new InputStreamReader(p.getInputStream());
  74. /* 74 */ BufferedReader br = new BufferedReader(isr);
  75. /* */ String lineRead;
  76. /* 76 */ while ((lineRead = br.readLine()) != null) {
  77. /* 77 */ System.out.println(lineRead);
  78. /* */ }
  79. /* 79 */ int rc = p.waitFor();
  80. /* */ }
  81. /* */ }
Add Comment
Please, Sign In to add comment