ввод / вывод с помощью Java Web Start
-
11-09-2019 - |
Вопрос
Я работаю над преобразованием очень простого настольного приложения Java для запуска в Java web start, и у меня возникают всевозможные проблемы с файлами ввода / вывода.В частности, я, похоже, не могу найти никакой информации о том, как обрабатывать ввод-вывод в приложении Web start.Я попытался поместить входные файлы в ту же папку на моем веб-сервере, что и файл jar и jnlp, но он его не читает.
У меня есть один входной файл, который я хочу сохранить на веб-сервере и оттуда считывать в приложение.
У меня есть второй файл, который я хочу, чтобы приложение генерировало на клиентском компьютере при первом запуске и считывало оттуда каждый раз после этого.
Если кто-нибудь знает, какие соображения мне нужно принять для ввода-вывода в Java web start, или может указать мне на ресурс, который объясняет это, я был бы признателен.
Решение
Вы можете узнать, откуда вы были загружены, с помощью BasicService
а затем используйте HTTP для передачи файла.Вы также можете просто добавить их в банку.
Вы можете хранить ограниченный объем информации (я думаю, что в настоящее время по умолчанию используется значение 128K / muffin) с помощью PeristenceService
.
Другие советы
У тебя не так уж много вариантов.
- Ты смог прочитать файл с http новый URL(адрес).openStream()
- Вы могли бы встроить файл в jar что, я полагаю, вам не нужно, а затем использовать getResourceAsStream()
Обычно вы храните файлы на жестком диске пользователя, используя скрытую папку
public final class ApplicationConstants{
final static String HOMEDIR_STRING = System.getProperty("user.home");
final static File HOMEDIR = new File(HOMEDIR_STRING);
final static File CONFIG_DIR = new File(HOMEDIR, ".com.mycompany.myapp");
}
///
if(!ApplicationConstants.CONFIG_DIR.exists()) ApplicationConstants.CONFIG_DIR.mkdirs();
File outputFile = new File(ApplicationConstants.CONFIG_DIR, "my.xx"));