suchen
HeimJavajavaLernprogrammUnterschied zwischen InputStream und OutputStream in Java

Difference Between InputStream and OutputStream in Java

Javas InputStream und OutputSteam sind beide abstrakte Klassen, die zum Zugriff auf den zugrunde liegenden Datensatz verwendet werden. Es handelt sich um APIs, die Operationen für bestimmte Datensequenzen definieren, die in einer Reihe von Schritten implementiert werden. InputStream ordnen Sie den Datensatz in einen geordneten Strom von Bytes neu an, um Daten aus einer Datei oder einem Netzwerk zu lesen. Gibt -1 am Ende des Streams zurück (Java hat keinen unsignierten Byte -Datentyp). OutputStream erhält dann Ausgabebytes und schreibt sie an das Ziel. Es ist die grundlegendste Methode zum Schreiben einer einzelnen Byteausgabe. Dieser Artikel vergleichen die Unterschiede zwischen diesen beiden Streams und erläutert sie in Kombination mit praktischen Anwendungen.

Eingabebeispiel

FileOutputStream fileOut = new FileOutputStream("ARBRDD.txt");

Ausgabebeispiel

<code>file is successfully updated today!!</code>
Der Unterschied zwischen

InputStream und OutputStream Features
特性 InputStream OutputStream
数据读取/写入 使用 read()read(byte[])read(byte[], int, int) 读取数据 使用 write(int)write(byte[])write(byte[], int, int) 写入数据
数据流向 数据从源流向应用程序 数据从应用程序流向目标
数据类型 可读取字节 可写入字节、字符或对象(使用子类)
数据连接 可使用 FileInputStreamByteArrayInputStream 连接现有数据 可使用 FileOutputStreamByteArrayOutputStream 连接现有数据
Daten lesen/schreiben verwenden read () , read (byte []) , read (byte [], int, int) /td> Daten mit schreiben (int) , schreiben (byte []) , schreiben (byte [], int, int) Datenfluss Datenflüsse von Quelle zu Anwendung Datenflüsse von der Anwendung zu Ziel Datentyp lesbare Bytes beschreibbare Bytes, Zeichen oder Objekte (mit Unterklassen) Datenverbindung Sie können FileInputStream oder bytearrayInputStream verwenden, um eine Verbindung zu vorhandenen Daten zu herstellen Sie können FileOutputStream oder bytearrayoutputStream verwenden, um eine Verbindung zu vorhandenen Daten herzustellen

wie man

verwendet

Verwenden Sie die Funktionen FileInputStream und FileOutputStream.

Algorithmus

Dieser Algorithmus beschreibt den Workflow der Stream -Klasse. Deklarieren Sie zuerst die Einfügungsreihenfolge (z. B. unter Verwendung der Timer -Klasse). Das Eingangsergebnis wird dann durch Iterating Länge durchquert.

  • Schritt 1 - Starten Sie den Prozess.
  • Schritt 2 - Deklarieren Sie den Eingangs- und Ausgangsstrom.
  • Schritt 3 - importierte integrierte Klassen und deklarierte Funktionen.
  • Schritt 4 - eine öffentliche Klasse deklarieren.
  • Schritt 5 - Setzen Sie die Funktion.
  • Schritt 6 - Führen Sie den Einfügungsvorgang durch.
  • Schritt 7 - Deklarieren Sie eine Array -Liste und füllen Sie sie.
  • Schritt 8 - Deklarieren Sie den festgelegten Wert.
  • Schritt 9 - Druckwerte in der Reihenfolge der Einfügung.
  • Schritt 10 - eine Schleife deklarieren, um den Prozess zu iterieren.
  • Schritt 11 - Legen Sie den Timer -Wert fest.
  • Schritt 12 - Führen Sie den Vorgang aus und erhalten Sie den Ausgabewert.
  • Schritt 13 - Beenden Sie den Prozess.

Grammatik

Syntax erklärt, wie ein Prozess als Null für markiert und überspringen kann. Danach werden wir den Prozess zurücksetzen, um den Stapelwert zu verfolgen, indem wir die Ausnahmeklasse erzwingen.

FileOutputStream fileOut = new FileOutputStream("ARBRDD.txt");

Verwenden Sie FileInputStream und FileOutputStream Methoden

Diese Methode verwendet die Methoden FileInputStream und FileOutputStream, um das Streaming in der Sammlung durchzuführen.

Beispiel

Dieser Code verwendet eine Textdatei, um eine Zeichenfolge über eine Java -Stream -Funktion zu schreiben. In diesem Prozess wird ein Hakenblock deklariert, um die Ausnahme zu behandeln.

<code>file is successfully updated today!!</code>

Ausgabe

public class NewClass {
   public static void main(String[] args) throws Exception {
      InputStream processARBRDD = null;
      try {
         processARBRDD = new FileInputStream("FILE_NAME.txt");

         // PRINT METHOD
         processARBRDD.mark(0);
         processARBRDD.skip(1);

         // PRINT METHOD
         boolean check = processARBRDD.markSupported();
         if (processARBRDD.markSupported()) {
            processARBRDD.reset();
            // PRINT METHODS
         } else {
            // PRINT METHODS
         }
      } catch (Exception excpt) {
         excpt.printStackTrace();
      } finally {
         if (processARBRDD != null) {
            processARBRDD.close();
         }
      }
   }
}

Schlussfolgerung

ByteArray Stream wird verwendet, um Daten in ein Byte -Array zu schreiben. In diesem Thema verwenden wir verschiedene Stream -Funktionen, um Verbindungen zwischen Daten und Code herzustellen.

Das obige ist der detaillierte Inhalt vonUnterschied zwischen InputStream und OutputStream in Java. 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
Gibt es aufkommende Technologien, die die Unabhängigkeit der Plattform von Java bedrohen oder verbessern?Gibt es aufkommende Technologien, die die Unabhängigkeit der Plattform von Java bedrohen oder verbessern?Apr 24, 2025 am 12:11 AM

Aufstrebende Technologien stellen sowohl Bedrohungen dar und verbessert die Plattformunabhängigkeit von Java. 1) Cloud Computing- und Containerisierungstechnologien wie Docker verbessern die Unabhängigkeit der Java -Plattform, müssen jedoch optimiert werden, um sich an verschiedene Cloud -Umgebungen anzupassen. 2) WebAssembly erstellt Java -Code über Graalvm, wodurch die Unabhängigkeit der Plattform erweitert wird, muss jedoch mit anderen Sprachen um die Leistung konkurrieren.

Was sind die unterschiedlichen Implementierungen des JVM und bieten alle die gleiche Unabhängigkeit der Plattform?Was sind die unterschiedlichen Implementierungen des JVM und bieten alle die gleiche Unabhängigkeit der Plattform?Apr 24, 2025 am 12:10 AM

Verschiedene JVM -Implementierungen können die Unabhängigkeit von Plattformen bieten, ihre Leistung ist jedoch etwas unterschiedlich. 1. OracleHotSpot und OpenJDKJVM können in der Plattformunabhängigkeit ähnlich erfolgen, aber OpenJDK erfordert möglicherweise eine zusätzliche Konfiguration. 2. IBMJ9JVM führt eine Optimierung für bestimmte Betriebssysteme durch. 3.. Graalvm unterstützt mehrere Sprachen und erfordert zusätzliche Konfiguration. 4. Azulzingjvm erfordert spezifische Plattformanpassungen.

Wie reduziert die Unabhängigkeit der Plattform die Entwicklungskosten und die Zeit?Wie reduziert die Unabhängigkeit der Plattform die Entwicklungskosten und die Zeit?Apr 24, 2025 am 12:08 AM

Die Unabhängigkeit der Plattform senkt die Entwicklungskosten und verkürzt die Entwicklungszeit, indem es denselben Code -Satz auf mehreren Betriebssystemen ausführt. Insbesondere manifestiert es sich als: 1. Reduzieren Sie die Entwicklungszeit, es ist nur ein Codesatz erforderlich; 2. Reduzieren Sie die Wartungskosten und vereinen Sie den Testprozess; 3.. Schnelle Iteration und Teamzusammenarbeit, um den Bereitstellungsprozess zu vereinfachen.

Wie erleichtert die Unabhängigkeit der Plattform von Java die Wiederverwendung von Code?Wie erleichtert die Unabhängigkeit der Plattform von Java die Wiederverwendung von Code?Apr 24, 2025 am 12:05 AM

Java'SplatformIndependenceFacilitateCodereuseByAllowingByteCodetorunonanyPlatformWitHajvm.1) EntwicklungscanwriteCodeonceforconsistentBehavioracrossplattforms.2) AUFTURET ISREITUNG ISRECTIONSUCDEDESCODEDOSNEWRITED.3)) und

Wie beheben Sie plattformspezifische Probleme in einer Java-Anwendung?Wie beheben Sie plattformspezifische Probleme in einer Java-Anwendung?Apr 24, 2025 am 12:04 AM

Um plattformspezifische Probleme in Java-Anwendungen zu lösen, können Sie die folgenden Schritte ausführen: 1. Verwenden Sie die Systemklasse von Java, um die Systemeigenschaften anzuzeigen, um die laufende Umgebung zu verstehen. 2. Verwenden Sie die Dateiklasse oder das Paket von Java.nio.file, um Dateipfade zu verarbeiten. 3. Laden Sie die lokale Bibliothek gemäß den Bedingungen des Betriebssystems. 4. Verwenden Sie VisualVM oder JProfiler, um die plattformübergreifende Leistung zu optimieren. 5. Stellen Sie sicher, dass die Testumgebung durch Docker -Containerisierung mit der Produktionsumgebung übereinstimmt. 6. Verwenden Sie GitHubactions, um automatisierte Tests auf mehreren Plattformen durchzuführen. Diese Methoden tragen dazu bei, plattformspezifische Probleme in Java-Anwendungen effektiv zu lösen.

Wie trägt das Klassenloader -Subsystem in der JVM zur Unabhängigkeit der Plattform bei?Wie trägt das Klassenloader -Subsystem in der JVM zur Unabhängigkeit der Plattform bei?Apr 23, 2025 am 12:14 AM

Der Klassenlader stellt die Konsistenz und Kompatibilität von Java-Programmen auf verschiedenen Plattformen durch ein einheitliches Klassendateiformat, dynamische Lade-, übergeordnete Delegationsmodell und plattformunabhängige Bytecode und erreicht Plattformunabhängigkeit.

Erstellt der Java-Compiler plattformspezifischen Code? Erklären.Erstellt der Java-Compiler plattformspezifischen Code? Erklären.Apr 23, 2025 am 12:09 AM

Der vom Java-Compiler generierte Code ist plattformunabhängig, aber der Code, der letztendlich ausgeführt wird, ist plattformspezifisch. 1. Java-Quellcode wird in plattformunabhängige Bytecode zusammengestellt. 2. Die JVM wandelt Bytecode für eine bestimmte Plattform in den Maschinencode um und stellt den plattformübergreifenden Betrieb sicher, aber die Leistung kann unterschiedlich sein.

Wie geht das JVM mit Multithreading auf verschiedenen Betriebssystemen um?Wie geht das JVM mit Multithreading auf verschiedenen Betriebssystemen um?Apr 23, 2025 am 12:07 AM

Multithreading ist für die moderne Programmierung wichtig, da es die Reaktionsfähigkeit und die Nutzung der Ressourcen verbessern und komplexe gleichzeitige Aufgaben erledigen kann. JVM sorgt für die Konsistenz und Effizienz von Multithreads auf verschiedenen Betriebssystemen durch Thread Mapping, Planungsmechanismus und Synchronisationssperrmechanismus.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung