powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Атрибуты файлов в Java
12 сообщений из 12, страница 1 из 1
Атрибуты файлов в Java
    #39379185
hoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hoz
Гость
Пришлось научиться считывать и изменять некоторые атрибуты файлов. Вот начав рыскать по этой теме, наткнулся на различные варианты.
Можно, конечно, создавать сам атрибут, а потом считывать его типа так:
Код: java
1.
2.
3.
        BasicFileAttributes basicFileAttributes;
        basicFileAttributes = Files.readAttributes(path, BasicFileAttributes.class);
        BasicFileAttributeView attrView = Files.getFileAttributeView(path, BasicFileAttributeView.class);


Но, я наткнулся на совет, что можно работать с атрибутами посредством интерфейса FileStore. Это имеешь резон?
Спрашиваю потому, что написав небольшой код, видел странный возврат на выходе:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
package ListOfAttributeType;

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.FileStore;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileAttributeView;
import java.nio.file.attribute.FileStoreAttributeView;

public class FileStoreInstance {

    public static void InitializeeFS() {
        Path path = Paths.get("c:\\Users\\hoz\\Documents\\test.txt");
        try {
            FileStore store = Files.getFileStore(path);
            System.out.println("store.name() = " + store.name());
            System.out.println("store.name() = " + store.supportsFileAttributeView("size"));
        } catch (IOException e) {
            e.printStackTrace();
        }

        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;
            }
        };
        try {
            System.out.println("fileStore.getTotalSpace() = " + fileStore.getTotalSpace());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Из реализованного интерфейса FileStore возвращается такое же значение, например, getTotalSpace() как и из геттера из экземпляра getTotalSpace(). Тогда какой смысл реализовывать интрфейс FileStore, если и так все атрибуты можно получить?
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379188
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hozНо, я наткнулся на совет, что можно работать с атрибутами посредством интерфейса FileStore. Это имеешь резон?

Возможно вы его не правильно интерпретировали. FileStore это обстрактный класс, а не интерфейс. Возможно имелся ввиду API?

hozСпрашиваю потому, что написав небольшой код, видел странный возврат на выходе:

Странный возврат на выходе? Анонимный класс тут нафига вообще?

hozИз реализованного интерфейса FileStore возвращается такое же значение, например, getTotalSpace() как и из геттера из экземпляра getTotalSpace(). Тогда какой смысл реализовывать интрфейс FileStore, если и так все атрибуты можно получить?
Вы что-то где-то нашли. Недопоняли. Как-то странно интерпретировали. И теперь хотите объяснения для вашей интрпретации? Не нужен этот анонимный класс.
https://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379192
hoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hoz
Гость
BlazkowiczВозможно вы его не правильно интерпретировали. FileStore это обстрактный класс, а не интерфейс. Возможно имелся ввиду API?

Как по мне, абстрактный класс, это и есть интерфейс, грубо говоря. Всё-равно, его нужно реализовывать. Да и профессионалы многие так считают. Но суть не в том. А причём тут API ?

BlazkowiczСтранный возврат на выходе? Анонимный класс тут нафига вообще?

Когда создаёшь экземпляр FileStore... как-то так набираешь в IDE:
Код: java
1.
FileStore d = new FileStore()


На выходе сразу же вижу анонимный класс образовавшийся:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
        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;
            }
        };
        try {
            System.out.println("fileStore.getTotalSpace() = " + fileStore.getTotalSpace());
        } catch (IOException e) {
            e.printStackTrace();
        }


Т.е. я спецом его не писал. Он сам создался.

BlazkowiczВы что-то где-то нашли. Недопоняли. Как-то странно интерпретировали. И теперь хотите объяснения для вашей интрпретации? Не нужен этот анонимный класс.
https://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html
А FileStore нужен тогда для чего?
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379193
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hoz,

А зачем делать new FileStore()???
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379199
hoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hoz
Гость
BlazkowiczА зачем делать new FileStore()???
Blazkowicz, а как же мне тогда конструктор реализовать то?
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379206
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hozBlazkowicz, а как же мне тогда конструктор реализовать то?
Это не ответ на вопрос.
FileStore store = Files.getFileStore(path); - вы уже получили store для вашего файла. Зачем вам "конструктор реализовать"?
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379271
hoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hoz
Гость
Blazkowicz,
хочу понять для чего тогда имеешь у FileStore конструктор в jdk. Ведь если нужно получать его только так:
Код: java
1.
FileStore store = Files.getFileStore(path);


Какой тогда смысл в вызове конструктора https://docs.oracle.com/javase/8/docs/api/java/nio/file/FileStore.html#FileStore-- ?
Его можно было вообще не упоминать, а лишь пользоваться методом из Files https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#getFileStore(java.nio.file.Path)
Надеюсь мой вопрос понятен...
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39379293
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hozКакой тогда смысл в вызове конструктора?

И правда. Если какая-то фигня где-то задокументирована, то её обязательно нужно вызывать. Так ведь?

hozЕго можно было вообще не упоминать, а лишь пользоваться методом из Files
А ещё у него уровень доступа protected, что говорит нам о том что конструировать этот класс могут только наследники. С другой стороны нафига это абстрактному классу, сказать трудно. Разница с конструктором по-умолчанию только в этом модификаторе.

hozНадеюсь мой вопрос понятен...
Нет не понятен. Если вас интересуют такие дебри, то стоит читать код, а не JavaDoc.
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39380234
hoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hoz
Гость
На самом деле, меня не то, что бы дебри интересовали. А интересует меня как изменить атрибут "Автор" ?



Java, надеюсь это позволяет реализовать вообще?
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39380239
dimonz80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hozНа самом деле, меня не то, что бы дебри интересовали. А интересует меня как изменить атрибут "Автор" ?



Java, надеюсь это позволяет реализовать вообще?

ИМХО, ТС путает теплое с мягким.
На скриншоте параметры берутся не из ФС, а из содержимого файла Excel.

Если нужен "автор" как атрибут ФС, то вот:
автор файла скачать безплатно без СМС и регистрации

Если атрибуты конкретно из Excel/Word, то apache poi должен помочь
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39380256
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hoz,

Жесть какая. Даже не пробовали у гугла спросить комбинацию слов Java Excel author?
А пробовали смотреть свойства других файлов? Не документов офиса? Там тоже автор есть?
...
Рейтинг: 0 / 0
Атрибуты файлов в Java
    #39380304
hoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hoz
Гость
Blazkowiczhoz,
Жесть какая. Даже не пробовали у гугла спросить комбинацию слов Java Excel author?
А пробовали смотреть свойства других файлов? Не документов офиса? Там тоже автор есть?
Действительно, я сморозил. Я так понимаю, это мне и было нужно.
Но как вообще с ним работать? Как конструктор создать? Я нашёл как применять, вроде бы тут , но так не выходит.
Написал так:
Код: java
1.
2.
3.
    public static void setCreator(File file) throws IOException, InvalidFormatException {
        XSSFWorkbook workbook = new XSSFWorkbook(file);
        SummaryInformation summaryInfo = workbook.getSu;


Идея не выдаётся в интеллесенсе метод getSummaryInformation. Как будто его вообще нет в api excell POI.
Я проверил. Если вызвать метод getSummaryInformation()
Код: java
1.
2.
        HSSFWorkbook workbookh = new HSSFWorkbook(file);
        SummaryInformation summaryInfo = workbookh.getSummaryInformation();


Получается этот метод подходит лишь для файлов типа HSSF. А если у меня файлы типа XSSF как быть?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Атрибуты файлов в Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]