Проверьте, есть ли у другого пользователя разрешение на запись файла - PullRequest
2 голосов
/ 18 ноября 2010

Во время процесса установки мне нужно проверить, доступен ли пользовательский путь для записи указанному пользователю.

Путь (путь UNC, например \ fileserver \ share) может быть недоступен для записи пользователю, который выполняет Setup.exe (это программное обеспечение только для Windows), поэтому я думаю, Как проверить разрешения на запись в каталог или файл? может не работать для меня.

Я знаю, что в Java7 будет новый API-интерфейс для файловой системы, но Java7 еще не выпущен.

EDIT: Пользователь 1 - запускает установщик Пользователь 2 - запускает установленное приложение

Если пользователь 1 получает ошибку «Отказано в доступе», я все еще не знаю, о пользователе 2. Мне нужно проверить разрешение для другого пользователя в процессе установки.

Я могу использовать net use /user:<user2> <passwd2>, но я не уверен, получу ли я всю необходимую информацию. Я получаю информацию, что путь существует, но нет, если пользователю 2 разрешено писать.

1 Ответ

0 голосов
/ 05 января 2012

до Java 7, у вас нет стандартного способа проверить, может ли пользователь записывать в файл Java, используя стандартную библиотеку.это потому, что старый Java просто не достаточно энергии.

например, File.canWrite () не будет работать, если учитывать владельца файла и т. Д.

, что вы можете сделать, это проверить его напрямую, например, попытаться написатьпустая строка к нему.(это должно учитывать ваше приложение, если ваше приложение просто не заботится о пустой строке в конце и автоматически удаляет конечные пустые строки, то это работает ..... это всего лишь пример, вы можете получить много хитрых способов, учитывая вашиприложение.

...