Heim  >  Artikel  >  Java  >  Eine kurze Einführung in den Einstieg in IO in Java (Bild)

Eine kurze Einführung in den Einstieg in IO in Java (Bild)

黄舟
黄舟Original
2017-09-26 10:08:502252Durchsuche

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. InputStreamBuffer

Eine kurze Einführung in den Einstieg in IO in Java (Bild)Gemäß dem Analysediagramm kann IO in zwei Dimensionen unterteilt werden: a große Ebene:

    Datentyp, das heißt: Zeichen oder Byte, Klasse entsprechend
  1. oder

    Writer/ReaderOutputStream/InputStream

  2. Operationstyp, Das heißt: Lesen (Eingabe) oder Schreiben (Ausgabe), die Klasse entspricht
  3. oder

    Reader/InputStreamWriter/OutputStream

  4. 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
  1. und

    entsprechen dem Lesen und Schreiben von Dateien; FileInputStream und FileOutputStream entsprechen dem Lesen und Schreiben von Pipe-Daten. PipedInputStreamPipedOutputStream

  2. 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

Eine kurze Einführung in den Einstieg in IO in Java (Bild)

    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
  • Zusammenfassung

    Dieser 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!

Stellungnahme:
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