Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > работа в файловой системе. как определить owner-а?


Автор: Cybogr 11.11.2005, 11:07
Добрый день.
При работе с файловой системой необходимо определить пользователя, создавшего файл. Как это сделать? желательно код.

import java.io.*;
.........
File[] Files = directory.listFiles();

for (int i = 0; i < Files.length; i++) {
if (Files[i].isFile()) {
String s = Files[i].getName();
System.out.println("s="+s);
}
}
.........

Автор: LSD 11.11.2005, 11:11
Дл яначала вопрос, а какая файловая система вообще позволяет определить пользователя, создавшего файл?

Автор: Guest 11.11.2005, 11:18
любая семейства unix

bash-2.05$ ls -la
total 35020
drwxr-xr-x 5 loader loader 512 Ноя 7 15:41 .
drwxr-xr-x 9 loader loader 512 Ноя 10 16:54 ..
-rw-r--r-- 1 loader loader 321 Сен 8 17:33 ICM.properties
-rw-r--r-- 1 loader loader 363 Сен 6 08:47 ICMKeyStore

где первый раз loader это owner (пользователь,создавший )
второй раз это его группа.

а?

Автор: Cyborg 11.11.2005, 11:24
и не только "любая семейства unix"

Автор: LSD 11.11.2005, 11:28
Цитата(Guest @ 11.11.2005, 11:18)
где первый раз loader это owner (пользователь,создавший )
второй раз это его группа.

1. owner - это владелец, а не создатель. По умолчанию создатель назначается владельцем, но владельцем можно назначить любого пользователя.
2. Эти права есть только на ФС типа ext2, ext3, xfs и т.п. А на том же FAT32 этих вещей нет, с ним Linux прекрастно работает.

На чистой Java это никак не сделать. Можно через Runtime.exec() выполнить команду ОС и парсить ее вывод, или использовать JNI.

Автор: Cyborg 11.11.2005, 11:44
Понял. Большое спасибо.
как использовать Runtime.exec() есть ссылка?

Автор: LSD 11.11.2005, 11:52
У нас в FAQ есть http://vingrad.ru/JAVA-JAV-002924.

Автор: Cyborg 11.11.2005, 12:30
Спасибо.

Автор: AntonSaburov 11.11.2005, 12:35
И тут тоже - http://vingrad.ru/JAVA-JAV-000121

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)