Gesamtstruktur
IO sollte die am häufigsten verwendete Funktion in täglichen Projekten sein, unabhängig davon, ob es sich um das einfache Lesen von Dateien oder die Überwachung von Serverports handelt. Bei der Verwendung von a wird IO jedoch verwendet Wenn wir eine komplexe IO-Basisklassenbibliothek verwenden, sind wir oft verwirrt. Sollten wir InputStream
oder Reader
wählen? Die Auswahl der geeigneten Klassenbibliothek entsprechend dem Anwendungsszenario ist für viele Programmierer ein Problem. Hier habe ich die häufig verwendeten Klassenbibliotheken im Java IO-Paket sortiert, einschließlich ihrer Organisationsstruktur, Funktionsmerkmale, anwendbaren Szenarien usw. Für die spätere Verwendung können Sie schnell und einfach die am besten geeignete IO-Klasse entsprechend Ihren Anforderungen auswählen. InputStream
Buffer
Gemäß dem Analysediagramm kann IO in zwei Dimensionen unterteilt werden: a große Ebene:
- Datentyp, das heißt: Zeichen oder Byte, Klasse entsprechend
- oder
Writer/Reader
OutputStream/InputStream
Operationstyp, Das heißt: Lesen (Eingabe) oder Schreiben (Ausgabe), die Klasse entspricht - oder
Reader/InputStream
Writer/OutputStream
Verwendungstipps
Alle Operationen von Java IO sind nichts weiter als Die meisten Erweiterungen der vier Hauptklassen in diesen beiden Dimensionen sind relativ einfach. Im Folgenden finden Sie eine separate Erklärung der etwas schwer verständlichen und bemerkenswerten Punkte
- Java IO verwendet Das Decorator-Muster ist umfassend, daher wird bei Verwendung der IO-Klassenbibliothek im Allgemeinen die Decorator-Aufrufmethode verwendet:
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
- In Java IO, ob dies der Fall ist Lesen oder Schreiben von Zeichen Es besteht grundsätzlich eine Eins-zu-Eins-Entsprechung zwischen Lese- und Schreibbytes. Mit anderen Worten: Wenn es eine bestimmte Leseklasse gibt, gibt es normalerweise eine bestimmte Schreibklasse. Dies kann zur Vereinfachung beitragen. wie
- und
entsprechen dem Lesen und Schreiben von Dateien;
FileInputStream
undFileOutputStream
entsprechen dem Lesen und Schreiben von Pipe-Daten.PipedInputStream
PipedOutputStream
Wie unterscheidet man Lesen bzw Beim Schreiben ist dies ein Problem, das Anfängern oft Probleme bereitet. Hier stelle ich eine einfache Möglichkeit zur Unterscheidung bereit: Nehmen Sie das Programm, das Sie gerade ausführen, als Benchmark (dh das Programm, das IO aufruft) und die vom Programm an andere übertragenen Daten Stellen werden geschrieben (Ausgabe), von anderen Stellen an das Programm übertragene Daten werden gelesen (Eingabe); wenn die vom Programm generierten Daten in einer Protokolldatei gespeichert werden, werden sie geschrieben und die Daten werden vom Port abgerufen und im Programm verarbeitet wird gelesen
- Wählen Sie entsprechend der auszuführenden Aktion und dem Zieldatentyp die entsprechende IO-Klasse aus für die Montage basierend auf dem Verwendungsszenario. Hinweis Der obige Satz umfasst tatsächlich drei Schritte:
- Die auszuführende Aktion, das heißt, ob gelesen oder geschrieben werden soll
- Datentyp, d. h. Bytes oder Zeichen, und manchmal ist eine Konvertierung zwischen Zeichen und Bytes erforderlich (z. B.
- ), wenn Daten im Netzwerk oder im Speicher gespeichert werden müssen im Allgemeinen in Form von Bytes; oder Dateien Zum Schreiben liegen Textdateien, die selbst zeichencodiert sind, im Allgemeinen in Zeichenform vor, während sie für Bilder, Videos und andere Dateien nur die Byteform verwenden können
OutputStreamWriter
Nutzungsszenarien: Tatsächlich müssen die Nutzungsszenarien in zwei Schritten betrachtet werden. Erstens müssen Sie die offensichtlichen Szenarien berücksichtigen, z. B. Dateioperationen, Zeichenfolgenoperationen oder Pipe-Kommunikation Wenn ja, wird empfohlen, die Datei über BufferedWriter zu kapseln, da dies eine ineffiziente Methode ist, um jedes Mal eine kleine Datenmenge zu öffnen und zu schreiben - ZusammenfassungDieser Artikel fasst hauptsächlich die grundlegenden IO-Klassen kurz zusammen und erläutert die grundlegenden Konzepte in IO und die Verwendung der IO-Basisklassenbibliothek. Natürlich werden in diesem Artikel nicht alle IO-Implementierungsklassen aufgeführt Interessierte Schüler können Java selbst ausprobieren. Gleichzeitig wird in diesem Artikel nicht beschrieben, wie die IO-Klassenbibliothek angepasst wird. Java hat NIO nach 1.4 eingeführt, nämlich: No Blocking IO, was dem ursprünglichen IO entspricht. Es gibt bestimmte Unterschiede in den Nutzungsszenarien
Das obige ist der detaillierte Inhalt vonEine kurze Einführung in den Einstieg in IO in Java (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung