Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2017, 01:43   #1
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию Как использовать атрибуты файлов?

Пришлось втыкнуть в тему по работе с атрибутами файлов. С большего прошерстил часть атрибутов. Правда не понял, почему столько имеется интерфесов различных, но.. это не суть важно, на данный момент.
Возник вопрос. Класс FileStore для чего вообще используется и как?
Я создал экземпляр FileStore посредством конструктора,в котором оказалась пачка перегруженных методов:
Код:
    FileStore fileStore = new FileStore() {
        @Override
        public String name() {
            return null;
        }

        @Override
        public String type() {
            return null;
        }

        @Override
        public boolean isReadOnly() {
            return false;
        }

        @Override
        public long getTotalSpace() throws IOException {
            return 0;
        }

        @Override
        public long getUsableSpace() throws IOException {
            return 0;
        }

        @Override
        public long getUnallocatedSpace() throws IOException {
            return 0;
        }

        @Override
        public boolean supportsFileAttributeView(Class<? extends FileAttributeView> type) {
            return false;
        }

        @Override
        public boolean supportsFileAttributeView(String name) {
            return false;
        }

        @Override
        public <V extends FileStoreAttributeView> V getFileStoreAttributeView(Class<V> type) {
            return null;
        }

        @Override
        public Object getAttribute(String attribute) throws IOException {
            return null;
        }
    }
Что со всем этим делать?
Вопрос в том, что я с FileStore не работал, и на русском информации нет. Читал документацию официальную и по логике экземпляр хранилища нужно получать для канкретного файла или группы файлов, а тут создалась реализация какая-то, а к чему она привязана не понятно.
Очень интересует данный момент. Просьба подсказать т.к. не простая задача.
hoz вне форума Ответить с цитированием
Старый 03.01.2017, 02:47   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Это абстрактный класс. И естественно вас попросили реализовать все методы. Я почему-то уверен, что вы идете не тем путем... Но если вдруг, то жизнь вашего FileStore должна начинаться с https://docs.oracle.com/javase/8/doc...nio.file.Path-
p51x вне форума Ответить с цитированием
Старый 03.01.2017, 13:09   #3
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Это абстрактный класс. И естественно вас попросили реализовать все методы. Я почему-то уверен, что вы идете не тем путем... Но если вдруг, то жизнь вашего FileStore должна начинаться с https://docs.oracle.com/javase/8/doc...nio.file.Path-
В общем-то, я так понимаю, посредством передачи пути к файлу или папке в FileStore можно узнать файловую систему и основные свойство "хранилища", но я увидел свойства, скажем так, жёсткого диска. Я верно понимаю?
Код:
    public static void InitializeeFS() {
        Path path = Paths.get("c:\\Users\\hoz\\Documents\\test.txt");
        try {
            FileStore store = Files.getFileStore(path);
            System.out.println("store.getTotalSpace() = " + store.getTotalSpace());

        } catch (IOException e) {
            e.printStackTrace();
        }
Но эти свойства сами по себе имеются у жёсткого диска. Какой смысл создавать экземпляр store.getTotalSpace(), если таким образом не повлияешь на эти свойства? Имею ввиду, что getTotalSpace не изменится, type тоже самое... и тд. Какой смысл в создании экземпляр тогда?
hoz вне форума Ответить с цитированием
Старый 03.01.2017, 13:15   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Именно для того, для чего написано в документации. Получение атрибутов файлохранилищ.
p51x вне форума Ответить с цитированием
Старый 03.01.2017, 13:57   #5
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Именно для того, для чего написано в документации. Получение атрибутов файлохранилищ.
Так а смысл его реализовывать, если и так все атрибуты можно получить? Например,
http://pastebin.com/6BAf9GRU
Из реализованного интерфейса FileStore возвращается такое же значение, например, getTotalSpace() как и из геттера из экземпляра getTotalSpace(). У меня в коде это видно. Смысла нет. Вот я потому и спрашиваю...
Вижу разве что кода больше на количество строк равное количеству атрибутов, которые можно выбрать и возвратить и без реализации FileStore.
Как это понять?
hoz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Атрибуты файлов Replicant Общие вопросы Delphi 3 29.04.2016 18:28
Изменяем атрибуты файлов Drakulov Общие вопросы Delphi 5 19.02.2010 16:22
Атрибуты файлов RamireZ Общие вопросы Delphi 9 28.10.2008 15:10
Как читать атрибуты с файлов? eks-s Общие вопросы Delphi 2 16.01.2008 02:25
Как изменить атрибуты Файлов? Volkogriz Общие вопросы Delphi 1 07.11.2007 18:27