Я хотел бы использовать только один каталог «Documents», когда я использую javafx DirectoryChooser в Windows 10 и использую «C: \ Users \ Tim \ Documents» в setInitialDirectory ().У меня есть второй каталог «Documents» в «One Drive», и Windows настаивает на том, что оба каталога C: \ и One Drive должны быть показаны.
Сначала получите абсолютный путь к каталогу из этого кода JavaFX:
DirectoryChooser directoryChooser = new DirectoryChooser();
File directory = directoryChooser.showDialog(this.getStage());
String useThis = directory.getAbsolutePath()
По умолчанию в Windows показано множество альтернатив, включая несколько каталогов документов, дисков, сетевых расположений,и так далее.Я могу выбрать «C: \ Users \ Tim \ Documents» и посмотреть строку, которую я хочу.Пока все хорошо.
В следующий раз я захочу снова выбрать, где я остановился:
DirectoryChooser directoryChooser = new DirectoryChooser();
// Already did .exists() and .isDirectory() for C:\Users\Tim\Documents
File initialDir = AppMain.getInstance().getLastDirectoryOpened();
directoryChooser.setInitialDirectory(initialDir);
File directory = directoryChooser.showDialog(this.getStage());
Вместо того, чтобы бросать пользователя прямо в каталог "C: \", Windowsпоказывает как каталог C: \ Users \ Tim \ Documents, так и второй каталог Documents, который у меня есть на OneDrive.Похоже, что Windows отбрасывает путь к файлу.Если я щелкаю в своей локальной папке «Документы», я снова получаю «C: \ Users \ Tim \ Documents».
Строго говоря, это работает, но это не желаемое поведение.Я пытаюсь запустить пользователя в каталоге, где он делает все свои файлы, а не путать его.