|
@@ -29,11 +29,13 @@ import com.dmdirc.logger.ErrorLevel;
|
29
|
29
|
import com.dmdirc.logger.Logger;
|
30
|
30
|
import com.dmdirc.util.InvalidURIException;
|
31
|
31
|
import com.dmdirc.util.URIParser;
|
32
|
|
-import com.dmdirc.util.resourcemanager.DMDircResourceManager;
|
33
|
32
|
|
34
|
33
|
import java.io.File;
|
35
|
34
|
import java.io.IOException;
|
36
|
35
|
import java.net.URI;
|
|
36
|
+import java.nio.file.Files;
|
|
37
|
+import java.nio.file.Path;
|
|
38
|
+import java.nio.file.Paths;
|
37
|
39
|
import java.rmi.RemoteException;
|
38
|
40
|
import java.util.ArrayList;
|
39
|
41
|
import java.util.List;
|
|
@@ -221,7 +223,7 @@ public class CommandLineParser {
|
221
|
223
|
doConnect(param);
|
222
|
224
|
break;
|
223
|
225
|
case 'd':
|
224
|
|
- doDirectory(param);
|
|
226
|
+ doDirectory(Paths.get(param));
|
225
|
227
|
break;
|
226
|
228
|
case 'e':
|
227
|
229
|
doExisting();
|
|
@@ -236,7 +238,7 @@ public class CommandLineParser {
|
236
|
238
|
launcherVersion = param;
|
237
|
239
|
break;
|
238
|
240
|
case 'p':
|
239
|
|
- doDirectory(DMDircResourceManager.getWorkingDirectory());
|
|
241
|
+ doDirectory(Paths.get(System.getProperty("user.dir")));
|
240
|
242
|
break;
|
241
|
243
|
case 'r':
|
242
|
244
|
disablereporting = true;
|
|
@@ -318,17 +320,18 @@ public class CommandLineParser {
|
318
|
320
|
*
|
319
|
321
|
* @param dir The new config directory
|
320
|
322
|
*/
|
321
|
|
- private void doDirectory(final String dir) {
|
322
|
|
- try {
|
323
|
|
- final File file = new File(dir);
|
324
|
|
- if (!file.exists() && !file.mkdirs()) {
|
|
323
|
+ private void doDirectory(final Path dir) {
|
|
324
|
+ if (!Files.exists(dir)) {
|
|
325
|
+ try {
|
|
326
|
+ Files.createDirectories(dir);
|
|
327
|
+ } catch (IOException ex) {
|
325
|
328
|
System.err.println("Unable to create directory " + dir);
|
326
|
329
|
System.exit(1);
|
327
|
330
|
}
|
328
|
|
- configDirectory = file.getCanonicalPath() + File.separator;
|
329
|
|
- } catch (IOException ex) {
|
330
|
|
- System.err.println("Unable to resolve directory " + dir + ": ");
|
331
|
|
- System.err.println("\t" + ex.getMessage());
|
|
331
|
+ }
|
|
332
|
+ configDirectory = dir.toAbsolutePath().toString() + File.separator;
|
|
333
|
+ if (!Files.exists(Paths.get(configDirectory))) {
|
|
334
|
+ System.err.println("Unable to resolve directory " + dir);
|
332
|
335
|
System.exit(1);
|
333
|
336
|
}
|
334
|
337
|
}
|