Fix IllegalArgumentException: Folder parameter must be a valid folder

This commit is contained in:
huangyuhui 2018-03-05 20:36:38 +08:00
parent a03e3fea12
commit eb1a109afc
3 changed files with 7 additions and 3 deletions

View File

@ -127,6 +127,7 @@ public final class MainPage extends StackPane implements DecoratorPage {
Controllers.dialog(Launcher.i18n("login.empty_username"));
else {
FileChooser chooser = new FileChooser();
if (repository.getRunDirectory(id).isDirectory())
chooser.setInitialDirectory(repository.getRunDirectory(id));
chooser.setTitle(Launcher.i18n("version.launch_script.save"));
chooser.getExtensionFilters().add(OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS

View File

@ -66,6 +66,9 @@ public final class ModpackFileSelectionPage extends StackPane implements WizardP
}
private CheckBoxTreeItem<String> getTreeItem(File file, String basePath) {
if (!file.exists())
return null;
ModAdviser.ModSuggestion state = ModAdviser.ModSuggestion.SUGGESTED;
if (basePath.length() > "minecraft/".length()) {
state = adviser.advise(StringUtils.substringAfter(basePath, "minecraft/") + (file.isDirectory() ? "/" : ""), file.isDirectory());

View File

@ -70,10 +70,10 @@ public final class ZipEngine implements Closeable {
* modified pathName, null if you dont want this file zipped
*/
private void putDirectoryImpl(File source, String basePath, BiFunction<String, Boolean, String> pathNameCallback) throws IOException {
File[] files;
File[] files = null;
if (source.isDirectory())
files = source.listFiles();
else
else if (source.isFile())
files = new File[] { source };
if (files == null)