88import javax .swing .*;
99import java .io .*;
1010import java .net .URL ;
11+ import java .net .URLConnection ;
1112import java .nio .file .Files ;
1213import java .nio .file .Path ;
1314import java .nio .file .Paths ;
@@ -106,7 +107,7 @@ public static void main(String[] args) {
106107 * @param version The version of java to unzip
107108 */
108109
109- private static void downloader (int version ) {
110+ public static void downloader (int version ) {
110111 try {
111112 String versionString = "Java_" + version ;
112113 JavaVersionList .valueOf (versionString );
@@ -117,38 +118,38 @@ private static void downloader(int version) {
117118
118119 Logger .logPass ("The version " + version + " exists!" );
119120
120- System . out . print ( Colors . BOLD + "[~] Checking if the link is good..." );
121+ Logger . logWarning ( "[~] Checking if the link is good..." );
121122 String url = String .format ("https://chiss.fr/jvm/download/Java_%d.zip" , version );
122123 try {
123124 URL link = new URL (url );
124125 link .openStream ().close ();
125- System . out . println ( Colors . OKGREEN + "[✓] The link is good!" );
126+ Logger . logPass ( "[✓] The link is good!" );
126127 Thread .sleep (1000 );
127128 String path = System .getProperty ("user.home" ) + "/.jdks" ;
128129 System .out .println (Colors .OKCYAN + "The JDK " + version + " will be downloaded in the folder '" + path + "'" );
129130 File directory = new File (path );
130131 if (!directory .exists ()) {
131132 if (directory .mkdirs ()) {
132- System . out . println ( Colors . OKGREEN + "[✓] The folder has been created!" );
133+ Logger . logPass ( "[✓] The folder has been created!" );
133134 }
134135 } else {
135136 System .out .println (Colors .WARNING + "[~] The folder already exists" );
136137 }
137138 Thread .sleep (1000 );
138- System . out . print ( Colors . BOLD + "[~] Downloading..." );
139+ Logger . logWarning ( "[~] Downloading..." );
139140 Path destination = Paths .get (path + "/Java_" + version + ".zip" );
140141 Files .copy (link .openStream (), destination , StandardCopyOption .REPLACE_EXISTING );
141- System . out . println ( Colors . OKGREEN + "[✓] The JDK " + version + " has been downloaded!" );
142+ Logger . logPass ( "[✓] The JDK " + version + " has been downloaded!" );
142143 Thread .sleep (1000 );
143- System . out . print ( Colors . BOLD + "[~] Unzipping..." );
144+ Logger . logWarning ( "[~] Unzipping..." );
144145 unzip (destination .toString (), path + "/Java_" + version );
145- System . out . println ( Colors . OKGREEN + "[✓] The JDK " + version + " has been unzipped!" );
146+ Logger . logPass ( "[✓] The JDK " + version + " has been unzipped!" );
146147 Thread .sleep (1000 );
147- System . out . print ( Colors . BOLD + "[~] Deleting zip file..." );
148+ Logger . logWarning ( "[~] Deleting zip file..." );
148149 Files .delete (destination );
149- System . out . println ( Colors . OKGREEN + "[✓] The JDK " + version + " has been deleted!" );
150+ Logger . logPass ( "[✓] The JDK " + version + " has been deleted!" );
150151 Thread .sleep (1000 );
151- System . out . println ( Colors . OKGREEN + "[✓] The JDK " + version + " has been downloaded and installed!" );
152+ Logger . logPass ( "[✓] The JDK " + version + " has been downloaded and installed!" );
152153 Thread .sleep (1000 );
153154 } catch (IOException e ) {
154155 System .out .println (Colors .FAIL + "[X] The link does not exist!" );
@@ -158,6 +159,76 @@ private static void downloader(int version) {
158159 }
159160 }
160161
162+ /**
163+ * Unzip a file
164+ * @param version The version of java to unzip
165+ * @param progressBar The progress bar
166+ */
167+
168+ public static void downloaderWithProgressBar (int version , JProgressBar progressBar ) {
169+ progressBar .setMaximum (100 );
170+ try {
171+ String versionString = "Java_" + version ;
172+ JavaVersionList .valueOf (versionString );
173+ } catch (IllegalArgumentException e ) {
174+ System .out .println (Colors .FAIL + "[X] The version " + version + " does not exist!" );
175+ return ;
176+ }
177+
178+ Logger .logPass ("The version " + version + " exists!" );
179+
180+ progressBar .setValue (0 );
181+
182+ Logger .logWarning ( "[~] Checking if the link is good..." );
183+ String url = String .format ("https://chiss.fr/jvm/download/Java_%d.zip" , version );
184+ try {
185+ URL link = new URL (url );
186+ link .openStream ().close ();
187+ Logger .logPass ("[✓] The link is good!" );
188+ progressBar .setValue (10 );
189+ Thread .sleep (1000 );
190+ String path = System .getProperty ("user.home" ) + "/.jdks" ;
191+ System .out .println (Colors .OKCYAN + "The JDK " + version + " will be downloaded in the folder '" + path + "'" );
192+ File directory = new File (path );
193+ if (!directory .exists ()) {
194+ if (directory .mkdirs ()) {
195+ Logger .logPass ("[✓] The folder has been created!" );
196+ }
197+ } else {
198+ System .out .println (Colors .WARNING + "[~] The folder already exists" );
199+ }
200+ progressBar .setValue (20 );
201+ Thread .sleep (1000 );
202+ Logger .logWarning ( "[~] Downloading..." );
203+ Path destination = Paths .get (path + "/Java_" + version + ".zip" );
204+ Files .copy (link .openStream (), destination , StandardCopyOption .REPLACE_EXISTING );
205+ progressBar .setValue (30 );
206+ Logger .logPass ("[✓] The JDK " + version + " has been downloaded!" );
207+ progressBar .setValue (50 );
208+ Thread .sleep (1000 );
209+ Logger .logWarning ( "[~] Unzipping..." );
210+ progressBar .setValue (60 );
211+ unzip (destination .toString (), path + "/Java_" + version );
212+ Logger .logPass ("[✓] The JDK " + version + " has been unzipped!" );
213+ progressBar .setValue (80 );
214+ Thread .sleep (1000 );
215+ Logger .logWarning ( "[~] Deleting zip file..." );
216+ progressBar .setValue (90 );
217+ Files .delete (destination );
218+ Logger .logPass ("[✓] The JDK " + version + " has been deleted!" );
219+ Thread .sleep (1000 );
220+ Logger .logPass ("[✓] The JDK " + version + " has been downloaded and installed!" );
221+ Thread .sleep (1000 );
222+ progressBar .setValue (100 );
223+ } catch (IOException e ) {
224+ System .out .println (Colors .FAIL + "[X] The link does not exist!" );
225+ e .printStackTrace ();
226+ } catch (InterruptedException e ) {
227+ e .printStackTrace ();
228+ }
229+ }
230+
231+
161232 /**
162233 * Unzip it
163234 * @param zipFilePath input zip file
0 commit comments