2013-03-10 18 views
9

Ich muss benutzerdefinierte Daten mit einer Datei im Dateisystem (ca. 50 Bytes mit jeder Datei) speichern. Ich habe keinen anderen Speicher, um die Daten zu behalten und kann dafür keine extra Datei erstellen. Dies sind meine Anforderungen, die ich nicht ändern kann.Welche Dateisysteme unterstützen Java UserDefinedFileAttributeView?

Ich habe festgestellt, dass dies mit der Klasse UserDefinedFileAttributeView getan werden kann.

Welche Dateisysteme unterstützen diese Funktion? NTFS, FAT, irgendwelche anderen Dateisysteme unter Linux?

Wo sind die Daten tatsächlich gespeichert und wie zuverlässig ist sie?

Antwort

5

Ich habe getestet, dass benutzerdefinierte Attribute von folgenden Dateisystemen über UserDefinedFileAttributeView unterstützt werden: NTFS, Ext4, ZFS. Andere populäre Dateisysteme können sie auch unterstützen. In den folgenden Dateisystemen FAT32, HFS + wurde keine Unterstützung gefunden.

2

Ich habe keine umfassende Liste aller unterstützten Dateisysteme gefunden. Sieht aus wie viele moderne Dateisysteme (ntfs, ext *) werden unterstützt. Die einzige Möglichkeit, diese benutzerdefinierten Eigenschaften korrekt zu verwenden, besteht darin, vor dem Lesen und Schreiben Ihrer Daten supportsFileAttributeView aufzurufen.

Sie könnten auch versuchen Preferences API es speichert Daten in einigen JVM-verwalteten Speicher, so dass Sie technisch keine Dateien erstellen.

4

Ich fand auf einer Liste nicht genug persönlich. Es gibt immer eine Möglichkeit, die zugrundeliegende Implementierung zu fragen, welche Ansichten unterstützt werden und ob eine konkrete Sichtweise unterstützt wird. Schauen Sie sich folgenden Code:

final FileSystem defaultFS = FileSystems.getDefault(); 

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

Mit einer Leistung:

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 

Mehr erfahren Sie in meinem Beitrag lesen auf File attributes in NIO.2

Verwandte Themen