Heim > Java > javaLernprogramm > Hauptteil

Tutorial 2 zur Java NIO-Serie: Java NIO-Kanäle ähneln Streams

php是最好的语言
Freigeben: 2018-07-30 10:39:53
Original
1661 Leute haben es durchsucht

Java NIO-Kanäle ähneln Streams, unterscheiden sich jedoch etwas:

  • Sie können sowohl Daten vom Kanal lesen als auch Daten in den Kanal schreiben. Aber Lese- und Schreibströme sind normalerweise einseitig.

  • Kanäle können asynchron gelesen und geschrieben werden.

  • Die Daten im Kanal müssen zuerst aus einem Puffer gelesen oder immer aus einem Puffer geschrieben werden.

Wie oben erwähnt, werden Daten vom Kanal in den Puffer gelesen und Daten vom Puffer in den Kanal geschrieben. Wie in der folgenden Abbildung dargestellt:

Kanalimplementierung

Dies sind die Implementierungen der wichtigsten Kanäle in Java NIO:

  • FileChannel

  • DatagramChannel

  • SocketChannel

  • ServerSocketChannel

FileChannel liest und schreibt Daten aus Dateien.

DatagramChannel kann Daten im Netzwerk über UDP lesen und schreiben.

SocketChannel kann über TCP Daten im Netzwerk lesen und schreiben.

ServerSocketChannel kann eingehende TCP-Verbindungen überwachen, genau wie ein Webserver. Für jede neue eingehende Verbindung wird ein SocketChannel erstellt.

Einfaches Kanalbeispiel

Das Folgende ist ein Beispiel für die Verwendung von FileChannel zum Einlesen von Daten in einen Puffer:

RandomAccessFile aFile = new RandomAccessFile("data/nio-data.txt", "rw");
FileChannel inChannel = aFile.getChannel();

ByteBuffer buf = ByteBuffer.allocate(48);

int bytesRead = inChannel.read(buf);
while (bytesRead != -1) {

System.out.println("Read " + bytesRead);
buf.flip();

while(buf.hasRemaining()){
System.out.print((char) buf.get());
}

buf.clear();
bytesRead = inChannel.read(buf);
}
aFile.close();
Nach dem Login kopieren

Achten Sie auf den Aufruf von buf.flip(), read Schreiben Sie die Daten zuerst in den Puffer, kehren Sie dann den Puffer um und lesen Sie dann die Daten aus dem Puffer. Im nächsten Abschnitt wird näher auf Buffer eingegangen.

Verwandte Artikel:

Java NIO Tutorial Serie 1: Eine kurze Einführung in Java NIO

Java NIO Tutorial Serie 3 : Grundlegende Verwendung von Buffer

Ähnliche Videos:

Illustration des JDK-Download-Prozesses – JAVA-Anfänger-Video-Tutorial

Das obige ist der detaillierte Inhalt vonTutorial 2 zur Java NIO-Serie: Java NIO-Kanäle ähneln Streams. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!