Есть задача — в процессе, работающем под сервером приложений (WebLogic) необходимо прочитать и изменить (записать) содержимое текстового файла, который находится в расшареной папке на удаленной Windows-машине..
Имеются логин/пароль и путь к файлу на той виндовс-машине..
Как работать с файлами (писать/читать) нашел здесь много тем, но вот чтобы подключиться к файлу с использованием логина-пароля — не удалось найти
а в моем случае такое:
File f = new File("\\\\10.1.1.1\\folder\\file.txt");
— не подходит.. с эксепшином не валится, но и свойства у f получаются при создании следующие: isAbsolute:true, isDirectory:false, isFile:false, isHidden:false, exists:false, т.е. работать с таким f не получится
Как в java-коде правильно использовать логин/пароль и путь для открытия такого файла?
Здравствуйте, __Vovan_H__, Вы писали:
__V>а в моем случае такое: __V>
__V>File f = new File("\\\\10.1.1.1\\folder\\file.txt");
__V>
__V>- не подходит..
Ух ты. А в каком-то другом случае подходит?
Стоит немного пораскинуть мозгами и прийти к выводу, что java.io.File это API для работы с файловой системой ОС.
А файлы на удаленной машине файловой системой текущей ОС не являются.
И выхода здесь два.
Либо NET USE/NET STOP.
Либо http://www.google.com/search?q=Java+samba -> http://jcifs.samba.org/
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, __Vovan_H__, Вы писали:
__V>>а в моем случае такое: __V>>
__V>>File f = new File("\\\\10.1.1.1\\folder\\file.txt");
__V>>
__V>>- не подходит.. B>Ух ты. А в каком-то другом случае подходит?
B>Стоит немного пораскинуть мозгами и прийти к выводу, что java.io.File это API для работы с файловой системой ОС. B>А файлы на удаленной машине файловой системой текущей ОС не являются. B>И выхода здесь два. B>Либо NET USE/NET STOP. B>Либо http://www.google.com/search?q=Java+samba -> http://jcifs.samba.org/
В случае, когда логин-пароль не нужен — работает
..ну правда само приложение при этом на виндузной машине и удаленная машина с файлом — тоже виндузная...
при таком раскладе у меня удаленный файл совершенно нормально открылся и содержимое его я прочитал (распечатал на консоль сервера приложений).
Из ваших предложений мне больше, по ходу, подойдет второе.. потому как на серваке монтировать никто ничего не будет...
Спасибо за совет!
Здравствуйте, __Vovan_H__, Вы писали:
__V>Из ваших предложений мне больше, по ходу, подойдет второе.. потому как на серваке монтировать никто ничего не будет...
Я вообще-то имел ввиду Runtime.exec()/ProcessBuilder
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, __Vovan_H__, Вы писали:
__V>>Из ваших предложений мне больше, по ходу, подойдет второе.. потому как на серваке монтировать никто ничего не будет... B>Я вообще-то имел ввиду Runtime.exec()/ProcessBuilder
..хм.. а я подумал подмонтировать сетевой диск на машине, локальной для процесса, на сетевой ресурс, где файл лежит
..видимо надо будет ознакомиться и с темой "Runtime.exec()/ProcessBuilder"... я просто с java ваще пока ещё совсем "на вы", поэтому иногда фик знает как тут у вас чего устроено
пасип ещё раз за инфу
Здравствуйте, __Vovan_H__, Вы писали:
__V>В случае, когда логин-пароль не нужен — работает
Фига се позор на мои седины. Даже в JavaDoc про это написано!
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, __Vovan_H__, Вы писали:
__V>>В случае, когда логин-пароль не нужен — работает B>Фига се позор на мои седины. Даже в JavaDoc про это написано!
ну всяко бывает..
лан, я домой пошел.
завтра буду всё пробовать
До свидания!
Re: работа с файлом на удаленной машине
От:
Аноним
Дата:
21.04.10 07:53
Оценка:
Здравствуйте, __Vovan_H__, Вы писали:
__V>Есть задача — в процессе, работающем под сервером приложений (WebLogic) необходимо прочитать и изменить (записать) содержимое текстового файла, который находится в расшареной папке на удаленной Windows-машине.. __V>Имеются логин/пароль и путь к файлу на той виндовс-машине..
__V>Как работать с файлами (писать/читать) нашел здесь много тем, но вот чтобы подключиться к файлу с использованием логина-пароля — не удалось найти
__V>а в моем случае такое:
__V>
__V>File f = new File("\\\\10.1.1.1\\folder\\file.txt");
__V>
__V>- не подходит.. с эксепшином не валится, но и свойства у f получаются при создании следующие: isAbsolute:true, isDirectory:false, isFile:false, isHidden:false, exists:false, т.е. работать с таким f не получится
__V>Как в java-коде правильно использовать логин/пароль и путь для открытия такого файла?
__V>Зараннее спасибо, __V>Владимир.
а что, права пользователя, под которым запущена ява, уже никак не решают?
всё ява нормально читает со всех сетевых дисков, если у пользователя, под которым она запущена, права есть.
это, кстати, выливается в гон "на яву" при запуске ее как сервиса под аккаунтом по умолчанию — мол, сетевых шар не видит. А не видит из-за того, что виндовый дефолтюзер сам не имеет на это прав.
в общем, выдайте на файл права группе, и включите в эту группу пользователя, под которым запускается ява.
так работает и с виндой, и с расшареными (уж не знаю как) linux-каталогами, и с HSM, и со всякими ленточными шкафами.