2013-03-10 12 views
9

Potrzebuję przechowywać niestandardowe dane z plikiem w systemie plików (około 50 bajtów z każdym plikiem). Nie mam innego miejsca do przechowywania danych i nie mogę utworzyć dla tego dodatkowego pliku. To są moje wymagania, których nie mogę zmienić.Jakie sytemy plików obsługują Java UserDefinedFileAttributeView?

Znalazłem, że można to zrobić przy użyciu klasy UserDefinedFileAttributeView.

Jakie systemy plików obsługują tę funkcję? NTFS, FAT, inne systemy plików w systemie Linux?

Gdzie dane są rzeczywiście przechowywane i jak wiarygodne jest to?

Odpowiedz

5

Przetestowałem, że niestandardowe atrybuty są obsługiwane przez następujące systemy plików za pośrednictwem UserDefinedFileAttributeView: NTFS, Ext4, ZFS. Inne popularne systemy plików również mogą je obsługiwać. Nie znaleziono obsługi w następujących systemach plików FAT32, HFS +.

2

Nie znalazłem żadnej kompleksowej listy wszystkich obsługiwanych systemów plików. Wygląda na to, że wiele nowoczesnych systemów plików (ntfs, ext *) jest obsługiwanych. Jedynym sposobem prawidłowego użycia tych właściwości zdefiniowanych przez użytkownika jest wywołanie supportsFileAttributeView przed odczytaniem i zapisaniem danych.

Możesz także spróbować zapisać dane w niektórych magazynach zarządzanych przez JVM, więc nie tworzysz żadnych plików.

4

Znalazłem poleganie na niektórych listach niewystarczająco osobiście. Zawsze istnieje sposób, aby zapytać o podstawową implementację, jakie widoki są obsługiwane, a także czy dany konkretny widok jest obsługiwany. Sprawdź poniższy kod:

final FileSystem defaultFS = FileSystems.getDefault(); 

for (String fileAttributeView : defaultFS.supportedFileAttributeViews()) { 
    System.out.println("Default file system supports: " + fileAttributeView); 
} 

o mocy:

Default file system supports: acl 
Default file system supports: basic 
Default file system supports: owner 
Default file system supports: user 
Default file system supports: dos 

można przeczytać więcej w moim poście na File attributes in NIO.2

Powiązane problemy