Ich möchte ein einfaches In-Memory-Dateisystem in Java erstellen, das ein Stammverzeichnis hat und in der Lage ist, ein neues Unterverzeichnis zu erstellen. Im Verzeichnis können wir neue Dateien erstellen, in sie schreiben, von ihnen lesen, sie löschen und sie auch umbenennen. Können Sie mir bitte einen Rat geben, wo Sie anfangen sollen (ein einfacher Code oder ein Resouce).In-Memory-Dateisystem in Java
Antwort
Sie können In-Memory-Dateisystem in Java mit Google Jimfs und Java 7 NIO-Paket erstellen.
Bitte beachten Sie diesen Link. Hier erhalten Sie ein Beispiel-Tutorial: create In-memory file system in java
Ein benutzerdefinierter Dateisystem-Provider muss die Klasse java.nio.file.spi.FileSystemProvider implementieren. Ein Dateisystemanbieter wird durch ein URI-Schema wie Datei, jar, memory, cd identifiziert.
Diese Links bieten unterhalb gute Informationen Start
http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html
Der Link unten (nicht etwa im Systemspeicher-Datei) ist über das virtuelle Dateisystem. Es geht um einige Design-Probleme, die Ihnen helfen könnten, falls Sie sich entscheiden, ein eigenes Dateisystem zu erstellen.
http://www.flipcode.com/archives/Programming_a_Virtual_File_System-Part_I.shtml
Aber Sie immer code.This wird schneller und einfacher nutzen könnten bereits gebaut und getestet zu halten, und Sie werden Unterstützung bei der Fehlerbedingungen erhalten.
einen Blick auf jimfs Nehmen (In-Memory-Dateisystem für Java 7+)
https://github.com/google/jimfs
auch Virtual File System http://commons.apache.org/proper/commons-vfs/
Blick inCommons
marschall (Eine im Speicher implementierte a JSR-203 Dateisystem) https://github.com/marschall/memoryfilesystem
Verwenden Sie memoryfilesystem.
Jimfs wurde in einer früheren Antwort erwähnt, aber memoryfilesystem behandelt viel mehr.
Beispiel Nutzung:
final FileSystem fs = MemoryFileSystem.newLinux().build("myfs");
final Path dir = fs.getPath("thedir");
Files.createDirectory(dir);
etc etc. Verwenden Sie die java.nio.file API-Dateien in diese zu manipulieren (File
wird nicht funktionieren!). Weitere Informationen finden Sie unter here.
Ich brauche 'File' um im Speicher sowohl zum Lesen als auch zum Schreiben zu arbeiten. Irgendwelche Ideen? – Jus12
- 1. Java-Streams in Java 7
- 2. Messzeit in Java JNI (nativer Aufruf Java)
- 3. Java: Methoden wie ord PHP in Java
- 4. Java-Funktionen in Java serialisieren 8
- 5. Convert Java Servlet in Standalone-Java-Anwendung
- 6. Java instanziiert Short-Objekt in Java
- 7. Worin liegt die Diskrepanz in Java-Versionen: Java 6 (in Terminal, Eclipse) und Java 7 (in Java Control Panel)?
- 8. Assign Operator in Java
- 9. Generisches Vererbung in Java
- 10. Übergeordnete Standardcodierung in Java
- 11. MSXML-Parser in Java
- 12. Rasterung in Java
- 13. diff Implementierung in Java
- 14. Benutzerdefinierte Konvertierungsspezifikatoren in Java
- 15. blenden (kryptologie) in java
- 16. Bouncing Ball in Java
- 17. Erzeuger Verbraucher in Java
- 18. Dateierstellungsdatum ermittelt in Java
- 19. Standard-Initialisierung in Java
- 20. Objektbaum-Navigationssprache in Java
- 21. Mehrere Müllsammler in Java
- 22. Decorator in Java
- 23. Prime Factorization in Java
- 24. Float-Nummern in Java
- 25. Monitor-Klasse in Java
- 26. Whitespaces in Java
- 27. letztes Objekt in Java
- 28. 'Reentrancy' in Java
- 29. Escaping Komma in Java
- 30. Dangling Threads in Java
Leider leidet jimfs einige Einschränkungen. Am besten verwenden Sie [memoryfilesystem] (https://github.com/marschall/memoryfilesystem). – fge