работа с файлом на удаленной машине
От: __Vovan_H__ Россия  
Дата: 20.04.10 12:38
Оценка:
Есть задача — в процессе, работающем под сервером приложений (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-коде правильно использовать логин/пароль и путь для открытия такого файла?

Зараннее спасибо,
Владимир.
Re: работа с файлом на удаленной машине
От: Blazkowicz Россия  
Дата: 20.04.10 12:41
Оценка:
Здравствуйте, __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/
Re[2]: работа с файлом на удаленной машине
От: __Vovan_H__ Россия  
Дата: 20.04.10 12:57
Оценка: 21 (1)
Здравствуйте, 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/

В случае, когда логин-пароль не нужен — работает
..ну правда само приложение при этом на виндузной машине и удаленная машина с файлом — тоже виндузная...
при таком раскладе у меня удаленный файл совершенно нормально открылся и содержимое его я прочитал (распечатал на консоль сервера приложений).
Из ваших предложений мне больше, по ходу, подойдет второе.. потому как на серваке монтировать никто ничего не будет...
Спасибо за совет!
Re[3]: работа с файлом на удаленной машине
От: Blazkowicz Россия  
Дата: 20.04.10 13:12
Оценка:
Здравствуйте, __Vovan_H__, Вы писали:

__V>Из ваших предложений мне больше, по ходу, подойдет второе.. потому как на серваке монтировать никто ничего не будет...

Я вообще-то имел ввиду Runtime.exec()/ProcessBuilder
Re[4]: работа с файлом на удаленной машине
От: __Vovan_H__ Россия  
Дата: 20.04.10 13:19
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, __Vovan_H__, Вы писали:


__V>>Из ваших предложений мне больше, по ходу, подойдет второе.. потому как на серваке монтировать никто ничего не будет...

B>Я вообще-то имел ввиду Runtime.exec()/ProcessBuilder

..хм.. а я подумал подмонтировать сетевой диск на машине, локальной для процесса, на сетевой ресурс, где файл лежит
..видимо надо будет ознакомиться и с темой "Runtime.exec()/ProcessBuilder"... я просто с java ваще пока ещё совсем "на вы", поэтому иногда фик знает как тут у вас чего устроено
пасип ещё раз за инфу
Re[3]: работа с файлом на удаленной машине
От: Blazkowicz Россия  
Дата: 20.04.10 13:20
Оценка:
Здравствуйте, __Vovan_H__, Вы писали:

__V>В случае, когда логин-пароль не нужен — работает

Фига се позор на мои седины. Даже в JavaDoc про это написано!
Re[4]: работа с файлом на удаленной машине
От: __Vovan_H__ Россия  
Дата: 20.04.10 13:22
Оценка:
Здравствуйте, 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, и со всякими ленточными шкафами.

ява тут ни при чем
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.