Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Запись/чтение в файл на примапленном диске |
Автор: Devorior 19.1.2009, 10:53 |
Если тема уже была, то пардон, у меня сейчас почему-то не работает поиск ![]() Командой subst сделал диск (например z:), который ссылается на директорию на той же машине. Джава говорит что не находит путь когда я пытаюсь сделать запись в файл по примапленному пути (z:/filename.txt) и кидает java.io.FileNotFoundException. Важно: код выполняется из-под сервлета, в обычном прикладном приложении все работает без ошибок Как правильно записать данные в файл на примапленном диске? Подскажите может быть какие-нибудь API для реализации. Спасибо заранее |
Автор: ivg 19.1.2009, 11:53 |
У меня работает. Покажите код. Версия JVM? |
Автор: Devorior 19.1.2009, 12:14 | ||||
Пишу как в обычный файл
Результат:
|
Автор: ivg 19.1.2009, 13:00 |
Интересно причём тут ZIPPacker. Код рабочий. Давайте полный стэктрэйс. Если в коде указать полный путь к этой папке, без виртуального диска, работает? |
Автор: Devorior 19.1.2009, 14:52 |
Некорректно написал постановку проблемы =\ Под прикладным приложением все хорошо работает, не работает если код выполняется из-под сервлета (сервер Tomcat 6.0). Видимо веб-сервер не понимает маппированные диски |
Автор: ivg 19.1.2009, 16:07 |
Неее..., ерунда. Скорее всего проблема с security. Полный стек-трэйс? |
Автор: Devorior 19.1.2009, 16:34 | ||
Пробовал также запускать службу Томката от имени учетной записи того пользователя, с которого маппировал диск (пользователь с админ правами) Добавлено через 8 минут и 35 секунд Да, проблема именно в сервисе Томката. Если запускаю Томкат консолью, все работает правильно. Из-под сервиса не хочет работать даже если запускать из-под учетки пользователя с админ. правами |
Автор: ivg 19.1.2009, 17:33 |
subst делает маппинг только для сеанса текущего пользователя. Если в этом же сеансе запустить сервер то По видимому при старте windows-сервиса для него создается новый сеанс, в котором никакого маппинга не существует, даже если с той же учётной записью. Стартуйте Tomcat командным файлом, ну и в нём же можно сделать маппинг виртуального диска. |
Автор: LSD 20.1.2009, 12:49 | ||
Посмотри что выдаст такая строчка:
|
Автор: Devorior 20.1.2009, 15:39 |
Из-под сервлета: [A:\, C:\, D:\, E:\, F:\, G:\, H:\] Из-под консольного приложения: [A:\, C:\, D:\, E:\, F:\, G:\, H:\, W:\, Z:\] w: и z: - виртуальные диски |
Автор: LSD 21.1.2009, 00:11 |
Вывод один - диски не замаплены. Почему и как, вопрос отдельный и к Java не относится. Создай новую тему в разделе Windows. |