Ich habe von einem anderen I/O-Paket namens NIO gehört. Kannst du mir davon erzählen?
Ursprünglich New I/O genannt, wurde das NIO-Paket durch JDK 1.4 zu Java hinzugefügt. Es unterstützt den kanalbasierten E/A-Operationsansatz. NIO-Klassen befinden sich im Paket java.nio und seinen untergeordneten Paketen wie java.nio.channels und java.nio.charset.
NIO basiert auf zwei Grundelementen: Puffern und Kanälen. Der Puffer speichert Daten, der Kanal stellt eine offene Verbindung zu einem E/A-Gerät wie einer Datei oder einem Socket dar. Um das neue I/O-System nutzen zu können, müssen wir im Allgemeinen einen Kanal mit einem I/O-Gerät und einem Puffer zum Speichern von Daten erhalten. Dann arbeiten wir mit dem Puffer und fügen bei Bedarf Daten ein oder zeigen sie an.
Zwei weitere von NIO verwendete Entitäten sind Zeichensätze und
Selektoren. Ein Zeichensatz definiert die Art und Weise, wie Bytes Zeichen zugeordnet werden. Mit einem Encoder können wir eine Folge von Zeichen in Form von Bytes kodieren. Und wir können eine Folge von Bytes mithilfe eines Decoders in Zeichenform dekodieren. Ein Selektor unterstützt schlüsselbasierte, nicht blockierende und gemultiplexte E/A. Mit anderen Worten: Selektoren ermöglichen es uns, I/O über mehrere Kanäle hinweg durchzuführen. Sie sind am besten auf Socket-basierte Kanäle anwendbar.
Ab JDK 7 hat NIO tiefgreifende Verbesserungen erfahren, so dass der Begriff NIO. 2 wird häufig verwendet. Zu den Verbesserungen gehörten drei neue Pakete (java.nio.file, java.nio.file.attribute und java.nio.file.spi); mehrere neue Klassen, Schnittstellen und Methoden; und direkte Unterstützung für Stream-basiertes I/O. Die Ergänzungen haben die Einsatzmöglichkeiten von NIO erweitert, insbesondere mit Dateien.
Es ist wichtig zu verstehen, dass NIO nicht die in java.io gefundenen I/O-Klassen ersetzt, die in diesem Kapitel besprochen werden. Stattdessen sind NIO-Klassen so konzipiert, dass sie das Standard-I/O-System ergänzen und einen alternativen Ansatz bieten, der unter bestimmten Umständen von Vorteil sein kann.
Das obige ist der detaillierte Inhalt vonFragen Sie den Experten – I/O. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!