{"id":55000169,"date":"2019-04-01T00:00:00","date_gmt":"2020-03-27T19:36:35","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=169"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Bytes_im_Griff_mit_der_StreamKlasse_FileStream","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Bytes_im_Griff_mit_der_StreamKlasse_FileStream\/","title":{"rendered":"Bytes im Griff mit der Stream-Klasse: FileStream"},"content":{"rendered":"<p><b>Die Stream-Klasse ist die Basisklasse f&uuml;r verschiedene Stream-Klassen wie FileStream oder MemoryStream. Streams bieten die M&ouml;glichkeit, Byte-genau schreibend wie lesend auf Daten aus Dateien, dem Arbeitsspeicher oder dem Netzwerk zuzugreifen. Dieser Artikel zeigt, welche Stream-Klassen es gibt und geht genauer auf die FileStream-Klasse ein. Dabei zeigen wir, wie Sie mit dieser Klasse lesend und schreibend auf den Inhalt von Dateien zugreifen und den Inhalt mit Byte-Arrays austauschen.<\/b><\/p>\n<h2>Verschiedene Stream-Klassen<\/h2>\n<p>Es gibt folgende von der <b>Stream<\/b>-Klasse abgeleitete Klassen:<\/p>\n<ul>\n<li><b>BufferedStream<\/b>: Puffert Daten aus E\/A-Datenstr&ouml;men im Arbeitsspeicher.<\/li>\n<li><b>CryptoStream<\/b>: Verschl&uuml;sselt Daten. <\/li>\n<li><b>FileStream<\/b>: Schreibt Daten in Dateien im Dateisystem.<\/li>\n<li><b>GZipStream<\/b>: Komprimiert und dekomprimiert Streams.<\/li>\n<li><b>MemoryStream<\/b>: Schreibt einen Stream in den Hauptspeicher statt in eine tempor&auml;re Datei.<\/li>\n<li><b>NetworkStream<\/b>: Erlaubt den Zugriff auf Netzwerkressourcen.<\/li>\n<\/ul>\n<p>Wir wollen uns in diesem Artikel auf die <b>FileStream<\/b>&#8211; und die <b>MemoryStream<\/b>-Klasse konzentrieren.<\/p>\n<h2>Die FileStream-Klasse<\/h2>\n<p>Mit der <b>FileStream<\/b>-Klasse k&ouml;nnen Sie byteweise aus Dateien lesen und in Dateien schreiben sowie einen Positionszeiger in einen Stream setzen. Der FileStream puffert dabei die Daten (bis zu acht Kilobyte). Wenn Sie ein Objekt auf Basis der <b>FileStream<\/b>-Klasse erzeugen wollen, k&ouml;nnen Sie per Konstruktor verschiedene Parameter &uuml;bergeben:<\/p>\n<ul>\n<li><b>path<\/b>: Pfad der zu lesenden oder schreibenden Datei<\/li>\n<li><b>mode<\/b>: Modus f&uuml;r den Dateizugriff. Die Enumeration <b>FileMode<\/b> bietet folgende Werte: <b>Append<\/b>, <b>Create<\/b>, <b>CreateNew<\/b>, <b>Open<\/b>, <b>OpenOrCreate<\/b>, <b>Truncate<\/b><\/li>\n<li><b>access<\/b>: Art des Dateizugriffs mit folgenden Werten der Enumeration <b>FileAccess<\/b>: <b>Read<\/b>, <b>ReadWrite<\/b>, <b>Write<\/b><\/li>\n<li><b>share<\/b>: Gibt an, ob gemeinsamer Zugriff auf die Datei m&ouml;glich ist. Die Enumeration <b>FileShare <\/b>liefert dazu die folgenden m&ouml;glichen Werte: <b>Delete<\/b>, <b>Inheritable<\/b>, <b>None<\/b>, <b>Read<\/b>, <b>ReadWrite<\/b>, <b>Write<\/b><\/li>\n<li><b>bufferSize<\/b>: Erlaubt das &Auml;ndern der Gr&ouml;&szlig;e des Puffers auf einen anderen Wert als acht Kilobyte.<\/li>\n<li><b>bool<\/b>: Gibt an, ob asynchrone Zugriffe m&ouml;glich sein sollen.<\/li>\n<\/ul>\n<h2>Byte-Array in eine Datei schreiben<\/h2>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000169\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000169?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000169\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"34aae43e8a\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Stream-Klasse ist die Basisklasse f&uuml;r verschiedene Stream-Klassen wie FileStream oder MemoryStream. Streams bieten die M&ouml;glichkeit, Byte-genau schreibend wie lesend auf Daten aus Dateien, dem Arbeitsspeicher oder dem Netzwerk zuzugreifen. Dieser Artikel zeigt, welche Stream-Klassen es gibt und geht genauer auf die FileStream-Klasse ein. Dabei zeigen wir, wie Sie mit dieser Klasse lesend und schreibend auf den Inhalt von Dateien zugreifen und den Inhalt mit Byte-Arrays austauschen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022019,662019,44000016],"tags":[],"yst_prominent_words":[],"class_list":["post-55000169","post","type-post","status-publish","format-standard","hentry","category-66022019","category-662019","category-VBGrundlagen"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000169"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000169\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000169"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}