diff --git a/src/main/java/com/rarchives/ripme/ui/MainWindow.java b/src/main/java/com/rarchives/ripme/ui/MainWindow.java index 884df89f..96208632 100644 --- a/src/main/java/com/rarchives/ripme/ui/MainWindow.java +++ b/src/main/java/com/rarchives/ripme/ui/MainWindow.java @@ -880,12 +880,7 @@ public final class MainWindow implements Runnable, RipStatusHandler { }); configSaveDirButton.addActionListener(arg0 -> { UIManager.put("FileChooser.useSystemExtensionHiding", false); - JFileChooser jfc = null; - try { - jfc = new JFileChooser(Utils.getWorkingDirectory().toString()); - } catch (IOException e) { - e.printStackTrace(); - } + JFileChooser jfc = new JFileChooser(Utils.getWorkingDirectory().toString()); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); int returnVal = jfc.showDialog(null, "select directory"); if (returnVal != JFileChooser.APPROVE_OPTION) { @@ -904,12 +899,7 @@ public final class MainWindow implements Runnable, RipStatusHandler { }); configUrlFileChooserButton.addActionListener(arg0 -> { UIManager.put("FileChooser.useSystemExtensionHiding", false); - JFileChooser jfc = null; - try { - jfc = new JFileChooser(Utils.getWorkingDirectory().toAbsolutePath().toString()); - } catch (IOException e) { - e.printStackTrace(); - } + JFileChooser jfc = new JFileChooser(Utils.getWorkingDirectory().toAbsolutePath().toString()); jfc.setFileSelectionMode(JFileChooser.FILES_ONLY); int returnVal = jfc.showDialog(null, "Open"); if (returnVal != JFileChooser.APPROVE_OPTION) { diff --git a/src/main/java/com/rarchives/ripme/utils/Utils.java b/src/main/java/com/rarchives/ripme/utils/Utils.java index 7a230ed1..825d5142 100644 --- a/src/main/java/com/rarchives/ripme/utils/Utils.java +++ b/src/main/java/com/rarchives/ripme/utils/Utils.java @@ -109,7 +109,7 @@ public class Utils { * * @return Root directory to save rips to. */ - public static Path getWorkingDirectory() throws IOException { + public static Path getWorkingDirectory() { String currentDir = getJarDirectory() + File.separator + RIP_DIRECTORY + File.separator; if (config != null) { @@ -118,7 +118,12 @@ public class Utils { Path workingDir = Paths.get(currentDir); if (!Files.exists(workingDir)) { - Files.createDirectory(workingDir); + try { + Files.createDirectory(workingDir); + } catch (IOException e) { + LOGGER.error("WorkingDir " + workingDir + " not exists, and could not be created. Set to user.home, continue."); + workingDir = Paths.get(System.getProperty("user.home")); + } } return workingDir; }