{"id":1033,"date":"2014-11-16T18:20:17","date_gmt":"2014-11-16T14:20:17","guid":{"rendered":"http:\/\/blog.rc21net.ru\/?p=1033"},"modified":"2022-06-09T02:13:54","modified_gmt":"2022-06-08T22:13:54","slug":"streams-io-c-sharp","status":"publish","type":"post","link":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/","title":{"rendered":"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C#"},"content":{"rendered":"<p>\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d <code>System.IO<\/code>.<\/p>\n<p><!--more--><\/p>\n<h2 id=\"jstoc336\">\u041f\u043e\u0442\u043e\u043a\u043e\u0432\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h2>\n<p>\u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b .NET \u043b\u0435\u0436\u0430\u0442 \u0442\u0440\u0438 \u043f\u043e\u043d\u044f\u0442\u0438\u044f:<\/p>\n<ul>\n<li><em>\u043e\u043f\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 (backing store)<\/em><\/li>\n<li><em>\u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 (decorator)<\/em><\/li>\n<li><em>\u0430\u0434\u0430\u043f\u0442\u0435\u0440 (adapter)<\/em><\/li>\n<\/ul>\n<p><strong>\u041e\u043f\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435<\/strong> &#8212; \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430: \u0444\u0430\u0439\u043b, \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0442.\u0434. \u041e\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0431\u043e\u0439 \u043b\u0438\u0431\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0431\u0430\u0439\u0442\u044b, \u043b\u0438\u0431\u043e \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a, \u043a\u0443\u0434\u0430 \u0431\u0430\u0439\u0442\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u043b\u0438\u0431\u043e \u0438 \u0442\u043e \u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0432\u043c\u0435\u0441\u0442\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c. \u042d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0438 \u0441\u043b\u0443\u0436\u0430\u0442 <strong>\u043f\u043e\u0442\u043e\u043a\u0438<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 .NET \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u043e\u043c <code>System.IO.Stream<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u00a0\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432.<\/p>\n<p>\u041f\u043e\u0442\u043e\u043a\u0438 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442 \u043e\u043f\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0430 \u0447\u0438\u0442\u0430\u044e\u0442 \u0435\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e \u0431\u0430\u0439\u0442\u0430\u043c \u043b\u0438\u0431\u043e \u0431\u043b\u043e\u043a\u0430\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0442\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0442\u044c \u043c\u0430\u043b\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0435\u0433\u043e \u043e\u043f\u043e\u0440\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.<\/p>\n<p>\u041f\u043e\u0442\u043e\u043a\u0438 \u0434\u0435\u043b\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<\/p>\n<ul>\n<li><em>\u043f\u043e\u0442\u043e\u043a\u0438 \u043e\u043f\u043e\u0440\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449<\/em> &#8212; \u043f\u043e\u0442\u043e\u043a\u0438, \u0436\u0435\u0441\u0442\u043a\u043e \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0442\u0438\u043f\u0430\u043c \u043e\u043f\u043e\u0440\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0<code>FileStream<\/code> \u0438\u043b\u0438\u00a0<code>NetworkStream<\/code><\/li>\n<li><em>\u043f\u043e\u0442\u043e\u043a\u0438-<strong>\u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b<\/strong><\/em> &#8212; \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0438, \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043c \u0438\u043b\u0438 \u0438\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0<code>DeflateStream<\/code> \u0438\u043b\u0438 <code>CryptoStream<\/code><\/li>\n<\/ul>\n<p>\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442 \u043f\u043e\u0442\u043e\u043a\u0438 \u043e\u043f\u043e\u0440\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0432\u0435\u0449\u0438, \u043a\u0430\u043a \u0441\u0436\u0430\u0442\u0438\u0435 \u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0438\u0445 \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 (\u0442.\u0435. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435).<\/p>\n<p>\u041f\u043e\u0442\u043e\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u0431\u0430\u0439\u0442\u0430\u043c\u0438. \u042d\u0442\u043e \u0433\u0438\u0431\u043a\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 \u0434\u0435\u043b\u043e \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u0438\u043b\u0438 XML.\u00a0\u041f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0442\u044c \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0440\u044b\u0432 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442<strong>\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b<\/strong>, \u043e\u043d\u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442 \u043f\u043e\u0442\u043e\u043a \u0432 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u043a\u043b\u0430\u0441\u0441\u0430 \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0441\u0430\u043c\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438, \u043e\u043d\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0431\u0430\u0439\u0442-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b.<\/p>\n<h2 id=\"jstoc337\">\u041f\u043e\u0442\u043e\u043a\u0438<\/h2>\n<p>\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <code>Stream<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432. \u041e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0442\u0440\u0435\u0445 \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439: \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u043f\u043e\u0438\u0441\u043a, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447: \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435, \u0441\u0431\u0440\u043e\u0441, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u043e\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">\/\/ \u0427\u0442\u0435\u043d\u0438\u0435:\npublic abstract bool CanRead { get; }\npublic abstract int Read (byte[] buffer, int offset, int count)\npublic virtual int ReadByte\u00a0();\n\/\/ \u0417\u0430\u043f\u0438\u0441\u044c:\npublic abstract bool CanWrite { get; }\npublic abstract void Write (byte[] buffer, int offset, int count);\npublic virtual void WriteByte (byte value);\n\/\/ \u041f\u043e\u0438\u0441\u043a:\npublic abstract bool CanSeek { get; }\npublic abstract long Position { get; set; }\npublic abstract void SetLength (long value);\npublic abstract long Length { get; }\npublic abstract long Seek (long offset, SeekOrigin origin);\n\/\/ \u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435\/\u0441\u0431\u0440\u043e\u0441:\npublic virtual void Close ();\npublic void Dispose ();\npublic abstract void Flush ();\n\/\/ \u0422\u0430\u0439\u043c-\u0430\u0443\u0442\u044b:\npublic virtual bool CanTimeout { get; }\npublic virtual int ReadTimeout { get; set; }\npublic virtual int WriteTimeout { get; set; }\n\/\/ \u0414\u0440\u0443\u0433\u0438\u0435:\npublic static readonly Stream Null;\npublic static Stream Synchronized (Stream stream);<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre class=\"lang:c# decode:true  \">using System;\nusing System.IO;\nclass Program\n{\n\u00a0 \u00a0 static void Main()\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \/\/ C\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0444\u0430\u0439\u043b test.txt:\n\u00a0 \u00a0 \u00a0 \u00a0 using (Stream s = new FileStream (\"test.txt\", FileMode.Create))\n\u00a0 \u00a0 \u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.CanRead); \/\/ True\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.CanWrite); \/\/ True\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.CanSeek); \/\/ True\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 s.WriteByte (101);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 s.WriteByte (102);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 byte[] block = { 1, 2, 3, 4, 5 };\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 s.Write (block, 0, block.Length); \/\/\u00a0\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0431\u043b\u043e\u043a \u0438\u0437 5 \u0431\u0430\u0439\u0442\u043e\u0432\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.Length); \/\/ 7\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.Position); \/\/ 7\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 s.Position = 0; \/\/\u00a0\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.ReadByte()); \/\/ 101\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.ReadByte()); \/\/ 102\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ \u0427\u0438\u0442\u0430\u0442\u044c \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u00a0block:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.Read (block, 0, block.Length)); \/\/ 5\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (s.Read (block, 0, block.Length)); \/\/ 0\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n}<\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 <strong>\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b<\/strong> \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438:\u00a0<code>ReadAsync<\/code> \u0438<code>WriteAsync<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">async static void AsyncDemo()\n{\n\u00a0 \u00a0 using (Stream s = new FileStream (\"test.txt\", FileMode.Create))\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 byte[] block = { 1, 2, 3, 4, 5 };\n\u00a0 \u00a0 \u00a0 \u00a0 await s.WriteAsync (block, 0, block.Length); \/\/\u00a0\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c\n\u00a0 \u00a0 \u00a0 \u00a0 s.Position = 0; \/\/\u00a0\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u043e\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0\/\/ \u0427\u0438\u0442\u0430\u0442\u044c \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u00a0block:\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (await s.ReadAsync (block, 0, block.Length)); \/\/ 5\n\u00a0 \u00a0 }\n}<\/pre>\n<h3 id=\"jstoc338\">\u0427\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c<\/h3>\n<p>\u041f\u043e\u0442\u043e\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u043b\u0438 \u0442\u043e \u0438 \u0434\u0440\u0443\u0433\u043e\u0435. \u0415\u0441\u043b\u0438 <strong>\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>CanWrite<\/code><\/strong>\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>false<\/code> &#8212; \u043f\u043e\u0442\u043e\u043a \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438\u00a0<strong><code>CanRead<\/code><\/strong> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442<code>false<\/code> &#8212;\u00a0\u043f\u043e\u0442\u043e\u043a \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u00a0<code>Read<\/code><\/strong> \u0447\u0438\u0442\u0430\u0435\u0442 \u0431\u043b\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430 \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0445 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432. \u041e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0438\u0431\u043e \u0440\u0430\u0432\u043d\u043e, \u043b\u0438\u0431\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 <code>count<\/code>. \u0415\u0441\u043b\u0438 \u043e\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 <code>count<\/code> &#8212; \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u043a\u043e\u043d\u0435\u0446 \u043f\u043e\u0442\u043e\u043a\u0430 \u0438\u043b\u0438 \u043f\u043e\u0442\u043e\u043a \u0432\u044b\u0434\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0440\u0446\u0438\u044f\u043c\u0438 \u043c\u0435\u043d\u044c\u0448\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 (\u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0441\u0443\u0434\u0438\u0442\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u043a\u043e\u043d\u0435\u0446 \u043f\u043e\u0442\u043e\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 0):<\/p>\n<pre class=\"lang:c# decode:true\">byte[] data = new byte [1000];\n\/\/ bytesRead \u0432 \u043a\u043e\u043d\u0446\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u0435\u043d 1000, \u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c \u043f\u043e\u0442\u043e\u043a \u043d\u0435 \u043a\u043e\u0440\u043e\u0447\u0435:\nint bytesRead = 0;\nint chunkSize = 1;\nwhile (bytesRead &lt; data.Length &amp;&amp; chunkSize &gt; 0)\n\u00a0 \u00a0 bytesRead +=\u00a0chunkSize = s.Read (data, bytesRead, data.Length - bytesRead);<\/pre>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u00a0<code>ReadByte<\/code><\/strong> \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442 \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0446\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 -1.<\/p>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Write<\/code> \u0438\u00a0<code>WriteByte<\/code><\/strong> \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u043e\u0442\u043e\u043a, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u00a0<code>offset<\/code><\/strong> \u043c\u0435\u0442\u043e\u0434\u043e\u0432\u00a0<code>Read<\/code> \u0438\u00a0<code>Write<\/code> \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0438\u043d\u0434\u0435\u043a\u0441 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435\u00a0<code>buffer<\/code>, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c, \u0430 \u043d\u0435 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0432 \u043f\u043e\u0442\u043e\u043a\u0435.<\/p>\n<h3 id=\"jstoc339\">\u041f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (Seeking)<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>CanSeek<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>true<\/code>, \u0442\u043e \u043f\u043e\u0442\u043e\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>Length<\/code> \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>SetLength<\/code>. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>Position<\/code>, \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0449\u0435\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0442\u043e\u043a\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c. \u041c\u0435\u0442\u043e\u0434\u00a0<code>Seek<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0438\u043b\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u043e\u043d\u0446\u0430 \u043f\u043e\u0442\u043e\u043a\u0430.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0442\u043e\u043a \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u043f\u043e\u0442\u043e\u043a\u0430 &#8212; \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u0435\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<h3 id=\"jstoc340\">\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0438 \u0441\u0431\u0440\u043e\u0441<\/h3>\n<p>\u041f\u043e\u0442\u043e\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u044b \u043f\u043e\u0441\u043b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u0432 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e &#8212; \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u043f\u043e\u0442\u043e\u043a\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 <code>using<\/code>.<\/p>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Dispose<\/code> \u0438\u00a0<code>Close<\/code> (\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b, \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u043f\u043e\u0442\u043e\u043a). \u041c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<p>\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 \u0441 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0438 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0438 \u043f\u043e\u0442\u043e\u043a \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0443.<\/p>\n<p>\u0414\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0435 \u0432\/\u0438\u0437 \u043e\u043f\u043e\u0440\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430. \u041f\u043e \u044d\u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0432 \u043f\u043e\u0442\u043e\u043a \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u0432 \u043e\u043f\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0444\u0435\u0440\u0430. \u041c\u0435\u0442\u043e\u0434\u00a0<code>Flush<\/code> \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043b\u044e\u0431\u044b\u0445 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 \u043c\u0435\u0442\u043e\u0434\u00a0<code>Flush<\/code> \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<h3 id=\"jstoc341\">\u0422\u0430\u0439\u043c-\u0430\u0443\u0442\u044b<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>CanTimeout<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>true<\/code>, \u043f\u043e\u0442\u043e\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 (\u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438, \u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0438 \u043f\u043e\u0442\u043e\u043a\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 &#8212; \u043d\u0435\u0442). \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>ReadTimeout<\/code> \u0437\u0430\u0434\u0430\u0435\u0442 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435, \u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>WriteTimeout<\/code> &#8212; \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c. \u041d\u043e\u043b\u044c \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0430. \u041f\u0440\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0430 \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Read<\/code> \u0438\u00a0<code>Write<\/code> \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.<\/p>\n<h3 id=\"jstoc342\">\u041f\u043e\u0442\u043e\u043a\u0438 \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438 \u0432 .NET<\/h3>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430\u043c\u0438 \u0432 .NET \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f:<\/p>\n<ul>\n<li><code>System.IO.FileStream<\/code><\/li>\n<li><code>System.IO.MemoryStream<\/code><\/li>\n<li><code>System.IO.IsolatedStorageFileStream<\/code><\/li>\n<li><code>System.Net.Sockets.NetworkStream<\/code><\/li>\n<li><code>System.IO.Pipes.PipeStream<\/code><\/li>\n<\/ul>\n<h3 id=\"jstoc343\">\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b \u0432 .NET<\/h3>\n<p>\u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0442\u043e\u043a \u0432 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0435\u043c\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u0432 .NET \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f:<\/p>\n<ul>\n<li><code>System.IO.BufferedStream<\/code><\/li>\n<li><code>System.IO.Compression.DeflateStream<\/code><\/li>\n<li><code>System.IO.Compression.GZipStream<\/code><\/li>\n<li><code>System.Security.Cryptography.CryptoStream<\/code><\/li>\n<li><code>System.Net.Security.AuthenticatedStream<\/code><\/li>\n<\/ul>\n<h3 id=\"jstoc344\">\u0410\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432 .NET<\/h3>\n<p>\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b (\u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432 <code>string<\/code> \u0438 <code>char<\/code>):<\/p>\n<ul>\n<li><code>TextReader<\/code><\/li>\n<li><code>TextWriter<\/code><\/li>\n<li><code>StreamReader<\/code><\/li>\n<li><code>StreamWriter<\/code><\/li>\n<li><code>StringReader<\/code><\/li>\n<li><code>StringWriter<\/code><\/li>\n<\/ul>\n<p>\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b (\u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432\u00a0<code>int<\/code>, <code>bool<\/code>, <code>string<\/code> \u0438 <code>float<\/code>):<\/p>\n<ul>\n<li><code>BinaryReader<\/code><\/li>\n<li><code>BinaryWriter<\/code><\/li>\n<\/ul>\n<p>\u0410\u0434\u0430\u043f\u0442\u0435\u0440\u044b XML:<\/p>\n<ul>\n<li><code>XmlReader<\/code><\/li>\n<li><code>XmlWriter<\/code><\/li>\n<\/ul>\n<h2 id=\"jstoc345\">FileStream<\/h2>\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>FileStream<\/code> \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a\u043b\u0430\u0441\u0441\u0430 <code>File<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">FileStream fs1 = File.OpenRead (\"readme.bin\"); \/\/\u00a0\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\nFileStream fs2 = File.OpenWrite (@\"c:\\temp\\writeme.tmp\"); \/\/\u00a0\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438\nFileStream fs3 = File.Create (@\"c:\\temp\\writeme.tmp\"); \/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>OpenWrite<\/code> \u0438\u00a0<code>Create<\/code> \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043f\u043e \u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: \u043c\u0435\u0442\u043e\u0434\u00a0<code>Create<\/code> \u0443\u0434\u0430\u043b\u0438\u0442 \u0432\u0441\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0430 \u043c\u0435\u0442\u043e\u0434\u00a0<code>OpenWrite<\/code>\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442\u044b\u043c, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u043d\u043e\u043b\u044c (\u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0431\u0430\u0439\u0442\u043e\u0432, \u0447\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0432 \u0444\u0430\u0439\u043b\u0435, \u043c\u0435\u0442\u043e\u0434 \u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0441\u043c\u0435\u0441\u044c \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e).<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>FileStream<\/code> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>FileStream<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440, \u0440\u0435\u0436\u0438\u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0443, \u043e\u043f\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438:<\/p>\n<pre class=\"lang:c# decode:true\">var fs = new FileStream (\"readwrite.tmp\", FileMode.Open); \/\/\u00a0\u0427\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>File\u00a0<\/code>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0444\u0430\u0439\u043b \u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c\/\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0437\u0430 \u043e\u0434\u043d\u0438 \u0448\u0430\u0433:<\/p>\n<ul>\n<li><code>File.ReadAllText<\/code> &#8212; \u0447\u0438\u0442\u0430\u0435\u0442 \u0446\u0435\u043b\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u0432\u0438\u0434\u0435 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/li>\n<li><code>File.ReadAllLines<\/code> &#8212; \u0447\u0438\u0442\u0430\u0435\u0442 \u0446\u0435\u043b\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u0432\u0438\u0434\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441\u0442\u0440\u043e\u043a<\/li>\n<li><code>File.ReadAllBytes<\/code> &#8212;\u00a0\u0447\u0438\u0442\u0430\u0435\u0442 \u0446\u0435\u043b\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430<\/li>\n<li><code>File.WriteAllText<\/code> &#8212; \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0444\u0430\u0439\u043b<\/li>\n<li><code>File.WriteAllLines<\/code> &#8212; \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a \u0432 \u0444\u0430\u0439\u043b<\/li>\n<li><code>File.WriteAllBytes<\/code> &#8212; \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0432 \u0444\u0430\u0439\u043b<\/li>\n<li><code>File.AppendAllText<\/code> &#8212; \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430<\/li>\n<\/ul>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>File.ReadLines<\/code> \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0432\u0435\u0441\u044c \u0444\u0430\u0439\u043b \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043b\u0435\u043d\u0438\u0432\u043e-\u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u043c\u043e\u0435\u00a0<code>IEnumerable&lt;string&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">int longLines = File.ReadLines (\"filePath\").Count (l =&gt; l.Length &gt; 80);<\/pre>\n<h3 id=\"jstoc346\">\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430<\/h3>\n<p>\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u043c \u0438\u043b\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443. \u0423\u0437\u043d\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430<code>Environment.CurrentDirectory<\/code>. \u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u043a \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c, \u0442\u0430\u043a \u0438 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>AppDomain.CurrentDomain.BaseDirectory<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0435\u0439, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u00a0<code>Path.Combine<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">string baseFolder = AppDomain.CurrentDomain.BaseDirectory;\nstring logoPath = Path.Combine (baseFolder, \"logo.jpg\");\nConsole.WriteLine (File.Exists (logoPath));<\/pre>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0438\u043c\u0435\u043d\u0430, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0<code>\\\\JoesPC\\PicShare\\pic.jpg<\/code>\u0438\u043b\u0438 <code>\\\\10.1.1.2\\PicShare\\pic.jpg<\/code>.<\/p>\n<h3 id=\"jstoc347\">\u0420\u0435\u0436\u0438\u043c\u044b \u0444\u0430\u0439\u043b\u0430 (FileMode)<\/h3>\n<p>\u0412\u0441\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b\u00a0<code>FileStream<\/code> \u043f\u043e\u043c\u0438\u043c\u043e \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0440\u0435\u0436\u0438\u043c\u0430 \u0444\u0430\u0439\u043b\u0430 &#8212; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <code>enum\u00a0FileMode<\/code>:<\/p>\n<ul>\n<li><code>FileMode.CreateNew<\/code> &#8212;\u00a0\u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438; \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/li>\n<li><code>FileMode.Create<\/code> &#8212; \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 <code>FileMode.CreateNew<\/code>, \u043d\u043e \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u043e\u0432\u044b\u043c (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u043e)<\/li>\n<li><code>FileMode.OpenOrCreate<\/code> &#8212;\u00a0\u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 &#8212; \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 &#8212; \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 (\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438)<\/li>\n<li><code>FileMode.Open<\/code> &#8212;\u00a0\u0444\u0430\u0439\u043b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438; \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b\u0430 \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/li>\n<li><code>FileMode.Truncate<\/code> &#8212;\u00a0\u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438\u00a0<code>FileMode.Open<\/code>, \u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043e\u0431\u043d\u0443\u043b\u044f\u0435\u0442\u0441\u044f<\/li>\n<li><code>FileMode.Append<\/code> &#8212;\u00a0\u0444\u0430\u0439\u043b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438; \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430<\/li>\n<\/ul>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>File.Create<\/code> \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<code>FileMode.Create<\/code> \u043f\u0440\u0438\u0432\u0435\u0434\u0443\u0442 \u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0444\u0430\u0439\u043b, \u0435\u0433\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<p>\u0412\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u0440\u043e\u043c\u0435\u00a0<code>FileMode.Append<\/code>, \u043f\u043e\u0442\u043e\u043a \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438. \u041c\u043e\u0436\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0435\u0441\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c <code>enum\u00a0FileAccess<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">[Flags]\npublic enum FileAccess { Read = 1, Write = 2, ReadWrite = 3 }<\/pre>\n<p>\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430\u00a0<code>FileStream <\/code>\u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:<\/p>\n<ul>\n<li><code>enum FileShare<\/code> &#8212; \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u043f\u043e\u043a\u0430 \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c\u00a0(<code>None<\/code>, <code>Read<\/code>\u00a0(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e), <code>ReadWrite<\/code> \u0438\u043b\u0438 <code>Write<\/code>)<\/li>\n<li>\u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445<\/li>\n<li>\u0444\u043b\u0430\u0433, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043b\u0438 \u043e\u0442\u043b\u043e\u0436\u0438\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0434\u043b\u044f \u041e\u0421<\/li>\n<li>\u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>FileSecurity<\/code>, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/li>\n<li><code>enum\u00a0FileOptions<\/code>:\n<ul>\n<li><code>FileOptions.Encrypted<\/code> &#8212;\u00a0\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u041e\u0421<\/li>\n<li><code>FileOptions.DeleteOnClose<\/code> &#8212; \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432<\/li>\n<li><code>FileOptions.RandomAccess<\/code> \u0438\u00a0<code>FileOptions.SequentialScan<\/code><\/li>\n<li><code>FileOptions.WriteThrough<\/code> &#8212; \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0438<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u043e\u0442\u043a\u0440\u044b\u0442 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c\u00a0<code>FileShare.ReadWrite<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a\u043b\u0430\u0441\u0441\u0430 <code>FileStream<\/code> <code>Lock<\/code> \u0438 <code>Unlock<\/code>\u043c\u043e\u0436\u043d\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0447\u0430\u0441\u0442\u043a\u0438 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre class=\"lang:c# decode:true  \">public virtual void Lock (long position, long length);\npublic virtual void Unlock (long position, long length);<\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0447\u0430\u0441\u0442\u044c \u0438\u043b\u0438 \u0432\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u0430 \u0443\u0436\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043c\u0435\u0442\u043e\u0434 <code>Lock<\/code>\u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h2 id=\"jstoc348\">MemoryStream<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>MemoryStream<\/code> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u043f\u043e\u0440\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 (\u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438).<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432\u00a0<code>ToArray<\/code> \u0438\u00a0<code>GetBuffer<\/code> \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c\u00a0<code>MemoryStream<\/code> \u0432 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432.<\/p>\n<p>\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0438 \u0441\u0431\u0440\u043e\u0441\u00a0<code>MemoryStream<\/code> \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u0442\u043e\u043a\u0430 \u043d\u0435\u043b\u044c\u0437\u044f. \u041c\u0435\u0442\u043e\u0434 <code>Flush<\/code> \u043f\u043e\u0442\u043e\u043a\u0430\u00a0<code>MemoryStream<\/code>\u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442.<\/p>\n<h2 id=\"jstoc349\">PipeStream<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>PipeStream<\/code> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043a\u0430\u043d\u0430\u043b\u043e\u0432 Windows. \u041a\u0430\u043d\u0430\u043b &#8212; \u044d\u0442\u043e \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u044b (\u0438\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f &#8212; \u0433\u0440\u0443\u043f\u043f\u044b \u0431\u0430\u0439\u0442\u043e\u0432). \u0420\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442 \u0434\u0432\u0430 \u0432\u0438\u0434\u0430 \u043a\u0430\u043d\u0430\u043b\u043e\u0432:<\/p>\n<ul>\n<li><em>\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b<\/em> &#8212; \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0438 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435<\/li>\n<li><em>\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b<\/em> &#8212; \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u0438\u043b\u0438 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 (\u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0442\u044c)<\/li>\n<\/ul>\n<p><code>PipeStream<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0441 \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0442\u0438\u043f\u0430\u043c\u0438: \u0434\u0432\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 (<code>AnonymousPipeServerStream<\/code> \u0438<code>AnonymousPipeClientStream<\/code>), \u0434\u0432\u0430 \u0434\u043b\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 (<code>NamedPipeServerStream\u00a0<\/code>\u0438\u00a0<code>NamedPipeClientStream<\/code>).<\/p>\n<h3 id=\"jstoc350\">\u0418\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438<\/h3>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u043d\u0430\u043b \u0441 \u043e\u0434\u043d\u0438\u043c \u0438 \u0442\u0435\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0434\u0432\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u043e\u043b\u0438: \u043a\u043b\u0438\u0435\u043d\u0442 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440, \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ul>\n<li>\u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>NamedPipeServerStream<\/code> \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u00a0<code>WaitForConnection<\/code><\/li>\n<li>\u043a\u043b\u0438\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>NamedPipeClientStream<\/code> \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u00a0<code>Connect<\/code> (\u0441 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u043e\u043c)<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0442 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u043e\u0442\u043e\u043a\u0438:<\/p>\n<pre class=\"lang:c# decode:true  \">\/\/ \u0421\u0435\u0440\u0432\u0435\u0440:\nusing (var s = new NamedPipeServerStream (\"pipedream\"))\n{\n\u00a0 \u00a0 s.WaitForConnection();\n\u00a0 \u00a0 s.WriteByte (100);\n\u00a0 \u00a0 Console.WriteLine (s.ReadByte());\n}\n\/\/ \u041a\u043b\u0438\u0435\u043d\u0442:\nusing (var s = new NamedPipeClientStream (\"pipedream\"))\n{\n\u00a0 \u00a0 s.Connect();\n\u00a0 \u00a0 Console.WriteLine (s.ReadByte());\n\u00a0 \u00a0 s.WriteByte (200);\n}<\/pre>\n<p>\u0414\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0434\u043b\u0438\u043d\u043d\u0435\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043a\u0430\u043d\u0430\u043b\u044b \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 <strong>\u0440\u0435\u0436\u0438\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439<\/strong>. \u041a\u043e\u0433\u0434\u0430 \u043e\u043d \u0432\u043a\u043b\u044e\u0447\u0435\u043d, \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u0442\u043e\u043a, \u043c\u043e\u0436\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u00a0<code>IsMessageComplete<\/code>. \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0432\u00a0<code>PipeTransmissionMode.Message<\/code> \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043f\u043e\u0442\u043e\u043a\u0430, \u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 &#8212; \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<code>PipeTransmissionMode.Message<\/code> \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 \u043f\u043e\u0442\u043e\u043a\u0430\u00a0<code>ReadMode<\/code> \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430\u00a0<code>Connect<\/code>:<\/p>\n<pre class=\"lang:c# decode:true  \">\/\/ \u0421\u0435\u0440\u0432\u0435\u0440:\nusing (var s = new NamedPipeServerStream (\"pipedream\", \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 PipeDirection.InOut,\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1, \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 PipeTransmissionMode.Message))\n{\n\u00a0 \u00a0 s.WaitForConnection();\n\u00a0 \u00a0 byte[] msg = Encoding.UTF8.GetBytes (\"Hello\");\n\u00a0 \u00a0 s.Write (msg, 0, msg.Length);\n\u00a0 \u00a0 Console.WriteLine (Encoding.UTF8.GetString (ReadMessage (s)));\n}\n\/\/ \u041a\u043b\u0438\u0435\u043d\u0442:\nusing (var s = new NamedPipeClientStream (\"pipedream\"))\n{\n\u00a0 \u00a0 s.Connect();\n\u00a0 \u00a0 s.ReadMode = PipeTransmissionMode.Message;\n\u00a0 \u00a0 Console.WriteLine (Encoding.UTF8.GetString (ReadMessage (s)));\n\u00a0 \u00a0 byte[] msg = Encoding.UTF8.GetBytes (\"Hello right back!\");\n\u00a0 \u00a0 s.Write (msg, 0, msg.Length);\n}\n\/\/ \u041c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u0430 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435:\nstatic byte[] ReadMessage (PipeStream s)\n{\n\u00a0 \u00a0 MemoryStream ms = new MemoryStream();\n\u00a0 \u00a0 byte[] buffer = new byte [0x1000];\n\u00a0 \u00a0 do \n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 ms.Write (buffer, 0, s.Read (buffer, 0, buffer.Length)); \n\u00a0 \u00a0 }\n\u00a0 \u00a0 while (!s.IsMessageComplete);\n\u00a0 \u00a0 return ms.ToArray();\n}<\/pre>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b \u043b\u0438 \u043f\u043e\u0442\u043e\u043a\u00a0<code>PipeStream<\/code> \u0447\u0442\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043d\u0435\u043b\u044c\u0437\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 <code>Read<\/code> \u0432\u0435\u0440\u043d\u0435\u0442 0, \u0442.\u043a. \u043f\u043e\u0442\u043e\u043a\u0438 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f, \u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u043d\u0438 \u043e\u043f\u0443\u0441\u0442\u043e\u0448\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>\u041a\u043b\u0438\u0435\u043d\u0442 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0434\u043b\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 \u043d\u0435 \u043d\u0430\u0447\u0430\u043b\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<h3 id=\"jstoc351\">\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438<\/h3>\n<p>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u0432\u043c\u0435\u0441\u0442\u043e \u0438\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440. \u041e\u043d\u0438 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442 \u0434\u0432\u0435 \u0440\u043e\u043b\u0438: \u043a\u043b\u0438\u0435\u043d\u0442 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0430\u0447\u0435:<\/p>\n<ul>\n<li>\u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>AnonymousPipeServerStream<\/code> \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>PipeDirection<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c\u00a0<code>In<\/code> \u0438\u043b\u0438 <code>Out<\/code><\/li>\n<li>\u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u00a0<code>GetClientHandleAsString<\/code> \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u0430 \u043a\u0430\u043d\u0430\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0443 (\u043e\u0431\u044b\u0447\u043d\u043e \u043a\u0430\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430)<\/li>\n<li>\u043a\u043b\u0438\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>AnonymousPipeClientStream<\/code>, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u0435\u043c\u0443 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>PipeDirection<\/code>)<\/li>\n<li>\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043f\u043e\u0442\u043e\u043a\u0438<\/li>\n<li>\u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0437\u0430 \u0441\u0447\u0435\u0442 \u0432\u044b\u0437\u043e\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>DisposeLocalCopyOfClientHandle<\/code><\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438, \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0432\u0430 \u043a\u0430\u043d\u0430\u043b\u0430.<\/p>\n<pre class=\"lang:c# decode:true\">\/\/ \u0421\u0435\u0440\u0432\u0435\u0440:\nstring clientExe = @\"d:\\PipeDemo\\ClientDemo.exe\";\nHandleInheritability inherit = HandleInheritability.Inheritable;\nusing (var tx = new AnonymousPipeServerStream (PipeDirection.Out, inherit))\nusing (var rx = new AnonymousPipeServerStream (PipeDirection.In, inherit))\n{\n\u00a0 \u00a0 string txID = tx.GetClientHandleAsString();\n\u00a0 \u00a0 string rxID = rx.GetClientHandleAsString();\n\u00a0 \u00a0 var startInfo = new ProcessStartInfo (clientExe, txID + \" \" + rxID);\n\u00a0 \u00a0 startInfo.UseShellExecute = false; \/\/\u00a0\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\n\u00a0 \u00a0 Process p = Process.Start (startInfo);\n\u00a0 \u00a0 tx.DisposeLocalCopyOfClientHandle();\n\u00a0 \u00a0 rx.DisposeLocalCopyOfClientHandle();\n\u00a0 \u00a0 tx.WriteByte (100);\n\u00a0 \u00a0 Console.WriteLine (\"Server received: \" + rx.ReadByte());\n\u00a0 \u00a0 p.WaitForExit();\n}\n\/\/ \u041a\u043b\u0438\u0435\u043d\u0442:\nstring rxID = args[0];\nstring txID = args[1];\nusing (var rx = new AnonymousPipeClientStream (PipeDirection.In, rxID))\nusing (var tx = new AnonymousPipeClientStream (PipeDirection.Out, txID))\n{\n\u00a0 \u00a0 Console.WriteLine (\"Client received: \" + rx.ReadByte());\n\u00a0 \u00a0 tx.WriteByte (200);\n}<\/pre>\n<p>\u041a\u043b\u0438\u0435\u043d\u0442 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 (\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0440\u0435\u0436\u0438\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439).<\/p>\n<h2 id=\"jstoc352\">BufferedStream<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>BufferedStream<\/code>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u043c, \u043e\u043d \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0442\u043e\u043a \u0432 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0411\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043e\u0431\u043c\u0435\u043d\u043e\u0432 \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c.<\/p>\n<pre class=\"lang:c# decode:true\">\/\/ \u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c\u00a0100K \u0432 \u0444\u0430\u0439\u043b:\nFile.WriteAllBytes (\"myFile.bin\", new byte [100000]);\nusing (FileStream fs = File.OpenRead (\"myFile.bin\"))\nusing (BufferedStream bs = new BufferedStream (fs, 20000)) \/\/ \u0431\u0443\u0444\u0435\u0440 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 20K\n{\n\u00a0 \u00a0 bs.ReadByte();\n\u00a0 \u00a0 Console.WriteLine (fs.Position); \/\/ 20000\n}<\/pre>\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u043e\u0442\u043e\u043a\u00a0<code>FileStream<\/code> \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u00a0<code>BufferedStream<\/code> \u0441 \u0431\u0443\u0444\u0435\u0440\u043e\u043c \u0432 20Kb. \u041f\u0440\u0438\u00a0\u0432\u044b\u0437\u043e\u0432\u0430 <code>ReadByte<\/code> \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430 <code>FileStream \u00a0<\/code>\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442, \u0430 20 000 \u0431\u0430\u0439\u0442\u043e\u0432 (\u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0443\u0444\u0435\u0440\u0430), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0431\u0443\u0444\u0435\u0440. \u041f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 19 999 \u0432\u044b\u0437\u043e\u0432\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>ReadByte<\/code> \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0447\u0438\u0442\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430, \u0430 \u043d\u0435 \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u00a0<code>FileStream<\/code> \u0441\u00a0<code>BufferedStream<\/code>\u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a\u00a0<code>FileStream<\/code> \u0441\u0430\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e.<\/p>\n<p>\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u00a0<code>BufferedStream<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c.<\/p>\n<h2 id=\"jstoc353\">\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b<\/h2>\n<h3 id=\"jstoc354\">TextReader \u0438\u00a0TextWriter<\/h3>\n<p><code>TextReader<\/code> \u0438\u00a0<code>TextWriter<\/code> \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u043c\u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 \u0434\u043b\u044f \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u0434\u0435\u043b\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u0438 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<ul>\n<li><code>StreamReader<\/code> \u0438 <code>StreamWriter<\/code> &#8212; \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043a\u043b\u0430\u0441\u0441<code>Stream\u00a0<\/code>\u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0442 \u0431\u0430\u0439\u0442\u044b \u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0438<\/li>\n<li><code>StringReader<\/code> \u0438 <code>StringWriter<\/code> &#8212; \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u0442\u0440\u043e\u043a\u0438<\/li>\n<\/ul>\n<p>\u0427\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>TextReader<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">\/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430:\npublic virtual int Peek (); \/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u00a0char\npublic virtual int Read ();\u00a0\/\/ \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u00a0char\n\/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432:\npublic virtual int Read (char[] buffer, int index, int count);\npublic virtual int ReadBlock (char[] buffer, int index, int count);\npublic virtual string ReadLine ();\npublic virtual string ReadToEnd ();\n\/\/ \u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435:\npublic virtual void Close ();\npublic void Dispose ();\n\/\/ \u0414\u0440\u0443\u0433\u0438\u0435:\npublic static readonly TextReader Null;\npublic static TextReader Synchronized (TextReader reader);<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434 <code>Peek<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u0437 \u043f\u043e\u0442\u043e\u043a\u0430, \u043d\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u044f \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0432\u043f\u0435\u0440\u0435\u0434. \u041c\u0435\u0442\u043e\u0434 <code>Peek<\/code> \u0438 <code>Read<\/code> (\u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 <code>-1<\/code> \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u043a\u043e\u043d\u0446\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 \u0438\u043b\u0438 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u043a <code>char<\/code>.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f <code>Read<\/code>, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f \u0431\u0443\u0444\u0435\u0440\u00a0<code>char[]<\/code>, \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443 \u043c\u0435\u0442\u043e\u0434\u0443\u00a0<code>ReadBlock<\/code>.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>ReadLine<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 (CR, LF \u043b\u0438\u0431\u043e CR+LF). \u041e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<p>\u0427\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>TextWriter<\/code>:<\/p>\n<pre class=\"lang:c# decode:true  \">\/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430:\npublic virtual void Write (char value);\n\/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432:\npublic virtual void Write (string value);\npublic virtual void Write (char[] buffer, int index, int count);\npublic virtual void Write (string format, params object[] arg);\npublic virtual void WriteLine (string value);\n\/\/\u00a0\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0438 \u0441\u0431\u0440\u043e\u0441:\npublic virtual void Close ();\npublic void Dispose ();\npublic virtual void Flush ();\n\/\/ \u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430:\npublic virtual IFormatProvider FormatProvider { get; }\npublic virtual string NewLine { get; set; }\npublic abstract Encoding Encoding { get; }\n\/\/ \u0414\u0440\u0443\u0433\u0438\u0435:\npublic static readonly TextWriter Null;\npublic static TextWriter Synchronized (TextWriter writer);<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Write<\/code> \u0438\u00a0<code>WriteLine<\/code> \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0438\u043f <code>object<\/code> (\u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442 <code>ToString<\/code> \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e).<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>WriteLine<\/code> \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u0443\u044e \u0435\u043c\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e\u00a0CR+LF. \u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>NewLine<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u044b\u00a0<code>TextReader<\/code> \u0438\u00a0<code>TextWriter<\/code> \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<h3 id=\"jstoc355\">StreamReader \u0438\u00a0StreamWriter<\/h3>\n<p>\u0421\u0430\u043c\u0438 \u043f\u043e \u0441\u0435\u0431\u0435 \u043a\u043b\u0430\u0441\u0441\u044b\u00a0<code>TextReader<\/code> \u0438 <code>TextWriter<\/code> \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u043c\u0438 \u0438 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043d\u0438 \u0441 \u043f\u043e\u0442\u043e\u043a\u043e\u043c, \u043d\u0438 \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c. \u0410 \u0432\u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u0438\u0445 \u0442\u0438\u043f\u044b\u00a0<code>StreamReader<\/code> \u0438\u00a0<code>StreamWriter<\/code> \u0438\u043c\u0435\u044e\u0442 \u0432 \u0441\u0432\u043e\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u0438 \u0431\u0430\u0439\u0442\u0430\u043c\u0438.<\/p>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430\u00a0<code>StreamReader<\/code> \u0438\u043b\u0438\u00a0<code>StreamWriter<\/code> \u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a:<\/p>\n<pre class=\"lang:c# decode:true\">using (FileStream fs = File.Create (\"test.txt\"))\nusing (TextWriter writer = new StreamWriter (fs))\n{\n\u00a0 \u00a0 writer.WriteLine (\"Line1\");\n\u00a0 \u00a0 writer.WriteLine (\"Line2\");\n}\nusing (FileStream fs = File.OpenRead (\"test.txt\"))\nusing (TextReader reader = new StreamReader (fs))\n{\n\u00a0 \u00a0 Console.WriteLine (reader.ReadLine());\n\u00a0 \u00a0 Console.WriteLine (reader.ReadLine());\n}<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441 File \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>CreateText<\/code>, <code>AppendText<\/code> \u0438 <code>OpenText<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>StreamReader<\/code> \u0438\u043b\u0438\u00a0<code>StreamWriter<\/code>\u00a0\u0431\u043e\u043b\u0435\u0435 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u043e:<\/p>\n<pre class=\"lang:c# decode:true\">using (TextWriter writer = File.CreateText (\"test.txt\"))\n{\n\u00a0 \u00a0 writer.WriteLine (\"Line1\");\n\u00a0 \u00a0 writer.WriteLine (\"Line2\");\n}\nusing (TextWriter writer = File.AppendText (\"test.txt\"))\n\u00a0 \u00a0 writer.WriteLine (\"Line3\");\nusing (TextReader reader = File.OpenText (\"test.txt\"))\n\u00a0 \u00a0 while (reader.Peek() &gt; \u22121)\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (reader.ReadLine());<\/pre>\n<p>\u0414\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0446\u0430 \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <code>Peek<\/code> (\u0432\u0435\u0440\u043d\u0435\u0442 <code>-1<\/code>) \u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 <code>ReadLine<\/code> (\u0432\u0435\u0440\u043d\u0435\u0442 <code>null<\/code>).<\/p>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u043e\u0432 \u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>System.Text.Encoding<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u00a0<code>StreamReader<\/code> \u0438\u043b\u0438 <code>StreamWriter<\/code>. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 UTF-8.<\/p>\n<pre class=\"lang:c# decode:true\">using (Stream s = File.Create (\"but.txt\"))\nusing (TextWriter w = new StreamWriter (s, Encoding.Unicode))\n\u00a0 \u00a0 w.WriteLine (\"but-\");<\/pre>\n<h3 id=\"jstoc356\">StringReader \u0438\u00a0StringWriter<\/h3>\n<p>\u0410\u0434\u0430\u043f\u0442\u0435\u0440\u044b\u00a0<code>StringReader<\/code> \u0438 <code>StringWriter<\/code> \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0434\u0435\u043b\u0430 \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043b\u0435\u0436\u0430\u0449\u0435\u0433\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438\u043b\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>StringBuilder<\/code>. \u041e\u043d\u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0439 \u0431\u0430\u0439\u0442\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u043f\u043e \u0441\u0443\u0442\u0438 \u043e\u043d\u0438 \u043d\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043a\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0440\u043e\u043a \u0438\u00a0<code>StringBuilder<\/code>. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u0436\u0435 \u0438\u0445 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u0449\u0438\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441 \u0442\u0438\u043f\u0430\u043c\u0438\u00a0<code>StreamReader<\/code> \u0438\u00a0<code>StreamWriter<\/code>, \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u044f \u0438\u0445 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h2 id=\"jstoc357\">\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0441\u044b\u00a0<code>BinaryReader<\/code> \u0438\u00a0<code>BinaryWriter<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u043e\u0442\u043e\u043a \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432:\u00a0<code>bool<\/code>, <code>byte<\/code>, <code>char<\/code>,\u00a0<code>decimal<\/code>, <code>float<\/code>, <code>double<\/code>, <code>short<\/code>, <code>int<\/code>,<code>long<\/code>, <code>sbyte<\/code>, <code>ushort<\/code>, <code>uint\u00a0<\/code>\u0438 <code>ulong<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u0440\u043e\u043a \u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<pre class=\"lang:c# decode:true\">public class Person\n{\n\u00a0 \u00a0 public string Name;\n\u00a0 \u00a0 public int Age;\n\u00a0 \u00a0 public double Height;\n\u00a0 \u00a0 public void SaveData (Stream s)\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 var w = new BinaryWriter (s);\n\u00a0 \u00a0 \u00a0 \u00a0 w.Write (Name);\n\u00a0 \u00a0 \u00a0 \u00a0 w.Write (Age);\n\u00a0 \u00a0 \u00a0 \u00a0 w.Write (Height);\n\u00a0 \u00a0 \u00a0 \u00a0 w.Flush();\n\u00a0 \u00a0 }\n\u00a0 \u00a0 public void LoadData (Stream s)\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 var r = new BinaryReader (s);\n\u00a0 \u00a0 \u00a0 \u00a0 Name = r.ReadString();\n\u00a0 \u00a0 \u00a0 \u00a0 Age = r.ReadInt32();\n\u00a0 \u00a0 \u00a0 \u00a0 Height = r.ReadDouble();\n\u00a0 \u00a0 }\n}<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>BinaryReader<\/code> \u043c\u043e\u0436\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435 \u0432 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">byte[] data = new BinaryReader(s).ReadBytes ((int) s.Length);<\/pre>\n<h2 id=\"jstoc358\">\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432 \u043f\u043e\u0442\u043e\u043a\u0430<\/h2>\n<p>\u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044e \u043b\u0435\u0436\u0430\u0449\u0435\u0433\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u0430:<\/p>\n<pre class=\"lang:c# decode:true\">using (FileStream fs = File.Create (\"test.txt\"))\nusing (TextWriter writer = new StreamWriter (fs))\n\u00a0 \u00a0 writer.WriteLine (\"Line\");<\/pre>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0435\u0441\u043b\u0438 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u0442\u043e\u043a \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f.<\/p>\n<p>\u041f\u0440\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u0438 \u043f\u043e\u0442\u043e\u043a\u0430 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 using, \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0430\u0434\u0430\u043f\u0442\u0435\u0440, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a, \u0438\u043d\u0430\u0447\u0435 \u043b\u044e\u0431\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0435, \u0431\u0443\u0434\u0443\u0442 \u0443\u0442\u0435\u0440\u044f\u043d\u044b.<\/p>\n<p>\u0410\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0438\u0445 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u043f\u043e\u0442\u043e\u043a\u0430. \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0432 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u043c \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c:<\/p>\n<pre class=\"lang:c# decode:true\">using (FileStream fs = new FileStream (\"test.txt\", FileMode.Create))\n{\n\u00a0 \u00a0 StreamWriter writer = new StreamWriter (fs);\n\u00a0 \u00a0 writer.WriteLine (\"Hello\");\n\u00a0 \u00a0 writer.Flush();\n\u00a0 \u00a0 fs.Position = 0;\n\u00a0 \u00a0 Console.WriteLine (fs.ReadByte());\n}<\/pre>\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0435\u0441\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0431\u0440\u043e\u0441\u0430 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0435\u0433\u043e, \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u0440\u044b\u0442, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0441\u0431\u043e\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430\u0434 \u043f\u043e\u0442\u043e\u043a\u043e\u043c.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430\u00a0<code>StreamReader<\/code>\/<code>StreamWriter<\/code> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c <code>true<\/code>, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a \u0437\u0430\u043a\u0440\u044b\u0442 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442:<\/p>\n<pre class=\"lang:c# decode:true\">using (var fs = new FileStream (\"test.txt\", FileMode.Create))\n{\n\u00a0 \u00a0 using (var writer = new StreamWriter (fs, \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 new UTF8Encoding (false, true),\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0x400, \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 true))\n\u00a0 \u00a0 \u00a0 \u00a0 writer.WriteLine (\"Hello\");\n\u00a0 \u00a0 fs.Position = 0;\n\u00a0 \u00a0 Console.WriteLine (fs.ReadByte());\n\u00a0 \u00a0 Console.WriteLine (fs.Length);\n}<\/pre>\n<h2 id=\"jstoc359\">\u0421\u0436\u0430\u0442\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432<\/h2>\n<p>\u0412 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d\u00a0<code>System.IO.Compression<\/code> \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0434\u0432\u0430 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432:\u00a0<code>DeflateStream<\/code> \u0438\u00a0<code>GZipStream<\/code>. \u041e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u0442\u0435\u043c, \u0447\u0442\u043e\u00a0<code>GZipStream<\/code>\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443. \u041e\u0431\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438: \u043e\u043d\u0438 \u0441\u0436\u0438\u043c\u0430\u044e\u0442 \u0438\u043b\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0438\u0445 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430:<\/p>\n<pre class=\"lang:c# decode:true\">using (Stream s = File.Create (\"compressed.bin\"))\nusing (Stream ds = new DeflateStream (s, CompressionMode.Compress))\n\u00a0 \u00a0 for (byte i = 0; i &lt; 100; i++)\n\u00a0 \u00a0 \u00a0 \u00a0 ds.WriteByte (i);\nusing (Stream s = File.OpenRead (\"compressed.bin\"))\nusing (Stream ds = new DeflateStream (s, CompressionMode.Decompress))\n\u00a0 \u00a0 for (byte i = 0; i &lt; 100; i++)\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (ds.ReadByte());<\/pre>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0435\u0449\u0435 \u0434\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u0430:\u00a0<code>ZipArchive<\/code> \u0438\u00a0<code>ZipFile<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0439 \u0432 zip-\u0444\u0430\u0439\u043b\u0430\u0445, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u043c\u0438 \u0441 zip-\u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0436\u0438\u043c\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u0430\u0440\u0445\u0438\u0432.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>ZipArchive<\/code> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438, \u0430\u00a0<code>ZipFile<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0434\u043b\u044f \u043d\u0435\u0433\u043e.\u00a0<code>ZipFile<\/code> \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u0435\u043d \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>CreateFromDirectory<\/code> \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>ZipFile<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0432 zip-\u0430\u0440\u0445\u0438\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">ZipFile.CreateFromDirectory (@\"d:\\MyFolder\", @\"d:\\compressed.zip\");<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>ExtractToDirectory<\/code> \u0442\u043e\u0433\u043e \u0436\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 zip-\u0430\u0440\u0445\u0438\u0432\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433:<\/p>\n<pre class=\"lang:c# decode:true\">ZipFile.ExtractToDirectory (@\"d:\\compressed.zip\", @\"d:\\MyFolder\");<\/pre>\n<p>\u041f\u0440\u0438 \u0441\u0436\u0430\u0442\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u0436\u0430\u0442\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0430\u0440\u0445\u0438\u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438.<\/p>\n<p>\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>ZipArchive <\/code>\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0435\u043c\u0443 \u043f\u043e\u0442\u043e\u043a (\u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>Stream<\/code>), \u043b\u0438\u0431\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>Open<\/code> \u043a\u043b\u0430\u0441\u0441\u00a0<code>ZipFile<\/code>, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0435\u043c\u0443 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430\u0434 \u0430\u0440\u0445\u0438\u0432\u043e\u043c &#8212;<code>Read<\/code> (\u0447\u0442\u0435\u043d\u0438\u0435), <code>Create<\/code> (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435) \u0438\u043b\u0438 <code>Update<\/code> (\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435).\u00a0\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>Entries<\/code>\u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00a0<code>ZipArchive<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u0430\u0440\u0445\u0438\u0432 \u0444\u0430\u0439\u043b\u043e\u0432, \u0430 \u043c\u0435\u0442\u043e\u0434\u00a0<code>GetEntry<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u0439\u0442\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0444\u0430\u0439\u043b:<\/p>\n<pre class=\"lang:c# decode:true\">using (ZipArchive zip = ZipFile.Open (@\"d:\\zz.zip\", ZipArchiveMode.Read))\n\u00a0 \u00a0 foreach (ZipArchiveEntry entry in zip.Entries)\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (entry.FullName + \" \" + entry.Length);<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>ZipArchiveEntry<\/code> \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 \u0430\u0440\u0445\u0438\u0432\u0435. \u041e\u043d \u0438\u043c\u0435\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u044b<code>Delete<\/code> (\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430),\u00a0<code>ExtractToFile<\/code> (\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0444\u0430\u0439\u043b \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430) \u0438 <code>Open<\/code> (\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 <code>Stream<\/code>, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0447\u0442\u0435\u043d\u0438\u044f\/\u0437\u0430\u043f\u0438\u0441\u0438). \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432\u00a0<code>CreateEntry<\/code> \u0438<code>CreateEntryFromFile<\/code> \u043a\u043b\u0430\u0441\u0441\u0430 <code>ZipArchive<\/code>.<\/p>\n<pre class=\"lang:c# decode:true\">byte[] data = File.ReadAllBytes (@\"d:\\foo.dll\");\nusing (ZipArchive zip = ZipFile.Open (@\"d:\\zz.zip\", ZipArchiveMode.Update))\n\u00a0 \u00a0 zip.CreateEntry (@\"bin\\X64\\foo.dll\").Open().Write (data, 0, data.Length);<\/pre>\n<h2 id=\"jstoc360\">\u041c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438<\/h2>\n<p>\u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d\u00a0<code>System.IO<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u044f\u0434 \u0442\u0438\u043f\u043e\u0432, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0445 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0438 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0421\u044e\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b <code>File<\/code> \u0438 <code>Directory<\/code>, \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b\u00a0<code>FileInfo<\/code> \u0438<code>DirectoryInfo<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u00a0\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043b\u0430\u0441\u0441 <code>Path<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u043f\u0443\u0442\u0435\u0439 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c.<\/p>\n<h3 id=\"jstoc361\">\u041a\u043b\u0430\u0441\u0441 File<\/h3>\n<p><code>File<\/code> &#8212; \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043b\u0430\u0441\u0441, \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430. \u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u043c \u0438\u043b\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c (\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430). \u041a\u043b\u0430\u0441\u0441 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<\/p>\n<pre class=\"lang:c# decode:true\">bool Exists (string path); \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u00a0true\u00a0\u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442\nvoid Delete (string path);\nvoid Copy (string sourceFileName, string destFileName);\nvoid Move (string sourceFileName, string destFileName);\nvoid Replace (string sourceFileName, string destinationFileName,\n\u00a0 \u00a0 string destinationBackupFileName);\nFileAttributes GetAttributes (string path);\nvoid SetAttributes (string path, FileAttributes fileAttributes);\nvoid Decrypt (string path);\nvoid Encrypt (string path);\nDateTime GetCreationTime (string path);\nDateTime GetLastAccessTime (string path);\nDateTime GetLastWriteTime (string path);\nvoid SetCreationTime (string path, DateTime creationTime);\nvoid SetLastAccessTime (string path, DateTime lastAccessTime);\nvoid SetLastWriteTime (string path, DateTime lastWriteTime);\nFileSecurity GetAccessControl (string path);\nFileSecurity GetAccessControl (string path,\n\u00a0 \u00a0 AccessControlSections includeSections);\nvoid SetAccessControl (string path, FileSecurity fileSecurity);<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b <code>Move<\/code> \u0438 <code>Replace\u00a0<\/code>\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c Move\u00a0\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0430 <code>Replace<\/code> \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434 <code>Delete<\/code> \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0444\u0430\u0439\u043b, \u0430 \u0435\u0441\u043b\u0438 \u0444\u0430\u0439\u043b \u043f\u043e\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u00a0<code>UnauthorizedAccessException<\/code>.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>GetAttributes<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 enum\u00a0<code>FileAttribute<\/code> \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c:<\/p>\n<ul>\n<li><code>Archive<\/code><\/li>\n<li><code>Compressed<\/code><\/li>\n<li><code>Device<\/code><\/li>\n<li><code>Directory<\/code><\/li>\n<li><code>Encrypted<\/code><\/li>\n<li><code>Hidden<\/code><\/li>\n<li><code>Normal<\/code><\/li>\n<li><code>NotContentIndexed<\/code><\/li>\n<li><code>Offline<\/code><\/li>\n<li><code>ReadOnly<\/code><\/li>\n<li><code>ReparsePoint<\/code><\/li>\n<li><code>SparseFile<\/code><\/li>\n<li><code>System<\/code><\/li>\n<li><code>Temporary<\/code><\/li>\n<\/ul>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <code>SetAttributes\u00a0<\/code>\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c:<\/p>\n<pre class=\"lang:c# decode:true\">string filePath = @\"c:\\temp\\test.txt\";\nFileAttributes fa = File.GetAttributes (filePath);\nif ((fa &amp; FileAttributes.ReadOnly) &gt; 0)\n{\n\u00a0 \u00a0 fa ^= FileAttributes.ReadOnly;\n\u00a0 \u00a0 File.SetAttributes (filePath, fa);\n}\n\/\/\u00a0\u0442\u0435\u043f\u0435\u0440\u044c \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0434\u0430\u043b\u0438\u0442\u044c\nFile.Delete (filePath);<\/pre>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0441\u0430 <code>FileInfo<\/code> \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u0435\u0439:<\/p>\n<pre class=\"lang:c# decode:true  \">new FileInfo (@\"c:\\temp\\test.txt\").IsReadOnly = false;<\/pre>\n<p>\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b\u00a0<code>Compressed<\/code> \u0438\u00a0<code>Encrypted<\/code> (\u0441\u0436\u0430\u0442\u0438\u0435 \u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430<code>SetAttribute<\/code> \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f. \u0414\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Encrypt<\/code> \u0438 <code>Decrypt<\/code> \u043a\u043b\u0430\u0441\u0441\u0430 <code>File<\/code>. \u0414\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u043a\u043b\u0430\u0441\u0441 <code>File\u00a0<\/code>\u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>GetAccessControl<\/code> \u0438\u00a0<code>SetAccessControl<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0438 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u041e\u0421 \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>FileSecurity<\/code> (\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d\u00a0<code>System.Security.AccessControl<\/code>). \u042d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u00a0<code>FileStream<\/code> \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0440\u0430\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u0430.<\/p>\n<h3 id=\"jstoc362\">\u041a\u043b\u0430\u0441\u0441\u00a0Directory<\/h3>\n<p>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043b\u0430\u0441\u0441\u00a0<code>Directory\u00a0<\/code>\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u0430\u043c \u043a\u043b\u0430\u0441\u0441\u0430<code>File<\/code>:\u00a0\u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 (<code>Exists<\/code>), \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 (<code>Move<\/code>), \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 (<code>Delete<\/code>), \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f\/\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f\/\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u0430\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e <code>Directory<\/code> \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<\/p>\n<pre class=\"lang:c# decode:true\">string GetCurrentDirectory ();\nvoid SetCurrentDirectory (string path);\nDirectoryInfo CreateDirectory (string path);\nDirectoryInfo GetParent (string path);\nstring GetDirectoryRoot (string path);\nstring[] GetLogicalDrives\u00a0();\n\/\/ \u0412\u0441\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c:\nstring[] GetFiles (string path);\nstring[] GetDirectories (string path);\nstring[] GetFileSystemEntries (string path);\nIEnumerable&lt;string&gt; EnumerateFiles (string path);\nIEnumerable&lt;string&gt; EnumerateDirectories (string path);\nIEnumerable&lt;string&gt; EnumerateFileSystemEntries (string path);<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Enumerate*<\/code>\u00a0\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0439 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 <code>Get*<\/code>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438. \u0418 \u0442\u0435 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c\u00a0<code>searchPattern<\/code>(<code>string<\/code>) \u0438\u00a0<code>searchOption<\/code> (<code>enum<\/code>). \u041f\u0440\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438\u00a0<code>SearchOption<\/code>.<code>SearchAllSubDirectories<\/code> \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0432 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u0445. \u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>*FileSystemEntries<\/code> \u0441\u043e\u0447\u0435\u0442\u0430\u044e\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043c\u0435\u0442\u043e\u0434\u043e\u0432\u00a0<code>*Files<\/code> \u0438\u00a0<code>*Directories<\/code>.<\/p>\n<h3 id=\"jstoc363\">FileInfo \u0438\u00a0DirectoryInfo<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0430\u0434 \u0444\u0430\u0439\u043b\u043e\u043c \u0438\u043b\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0431\u0443\u0434\u0443\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>FileInfo<\/code> \u0438\u00a0<code>DirectoryInfo<\/code>.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>FileInfo<\/code> \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a\u043b\u0430\u0441\u0441 <code>File\u00a0<\/code>\u0432 \u0444\u043e\u0440\u043c\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u044f\u0434 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 &#8212;\u00a0<code>Extension<\/code>,<code>Length<\/code>, <code>IsReadOnly<\/code> \u0438 <code>Directory<\/code>. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>DirectoryInfo<\/code>.<\/p>\n<pre class=\"lang:c# decode:true\">FileInfo fi = new FileInfo (@\"c:\\temp\\FileInfo.txt\");\nConsole.WriteLine (fi.Exists); \/\/ false\nusing (TextWriter w = fi.CreateText())\n\u00a0 \u00a0 w.Write (\"Some text\");\nConsole.WriteLine (fi.Exists); \/\/ \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 false\nfi.Refresh();\nConsole.WriteLine (fi.Exists); \/\/ true\nConsole.WriteLine (fi.Name); \/\/ FileInfo.txt\nConsole.WriteLine (fi.FullName); \/\/ c:\\temp\\FileInfo.txt\nConsole.WriteLine (fi.DirectoryName); \/\/ c:\\temp\nConsole.WriteLine (fi.Directory.Name); \/\/ temp\nConsole.WriteLine (fi.Extension); \/\/ .txt\nConsole.WriteLine (fi.Length); \/\/ 9\nfi.Encrypt();\nfi.Attributes ^= FileAttributes.Hidden; \/\/ \u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0444\u043b\u0430\u0433 \"\u0441\u043a\u0440\u044b\u0442\u044b\u0439\"\nfi.IsReadOnly = true;\nConsole.WriteLine (fi.Attributes); \/\/ ReadOnly, Archive, Hidden, Encrypted\nConsole.WriteLine (fi.CreationTime);\nfi.MoveTo (@\"c:\\temp\\FileInfoX.txt\");\nDirectoryInfo di = fi.Directory;\nConsole.WriteLine (di.Name); \/\/ temp\nConsole.WriteLine (di.FullName); \/\/ c:\\temp\nConsole.WriteLine (di.Parent.FullName); \/\/ c:\\\ndi.CreateSubdirectory (\"SubFolder\");\n<\/pre>\n<p><span style=\"font-size: 1rem;\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<\/span><span style=\"font-size: 1rem;\">DirectoryInfo<\/span><span style=\"font-size: 1rem;\">:<\/span><\/p>\n<pre class=\"lang:c# decode:true  \">DirectoryInfo di = new DirectoryInfo (@\"e:\\photos\");\nforeach (FileInfo fi in di.GetFiles (\"*.jpg\"))\n\u00a0 \u00a0 Console.WriteLine (fi.Name);\nforeach (DirectoryInfo subDir in di.GetDirectories())\n\u00a0 \u00a0 Console.WriteLine (subDir.FullName);<\/pre>\n<h3 id=\"jstoc364\">Path<\/h3>\n<p>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043b\u0430\u0441\u0441 <code>Path<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0443\u0442\u044f\u043c\u0438 \u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">string dir = @\"c:\\mydir\";\nstring file = \"myfile.txt\";\nstring path = @\"c:\\mydir\\myfile.txt\";\nDirectory.SetCurrentDirectory (@\"k:\\demo\");\n\/\/ \u041c\u0435\u0442\u043e\u0434\u044b Path:\nPath.IsPathRooted (file) \/\/ False\nPath.IsPathRooted (path) \/\/ True\nPath.GetPathRoot (path) \/\/ c:\\\nPath.GetDirectoryName (path) \/\/ c:\\mydir\nPath.GetFileName (path) \/\/ myfile.txt\nPath.GetFullPath (file) \/\/ k:\\demo\\myfile.txt\nPath.Combine (dir, file) \/\/ c:\\mydir\\myfile.txt\n\/\/ \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432:\nPath.HasExtension (file) \/\/ True\nPath.GetExtension (file) \/\/ .txt\nPath.GetFileNameWithoutExtension (file) \/\/ myfile\nPath.ChangeExtension (file, \".log\") \/\/ myfile.log\n\/\/ \u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0438 \u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u044b:\nPath.AltDirectorySeparatorChar \/\/ \/\nPath.PathSeparator \/\/ ;\nPath.VolumeSeparatorChar \/\/ :\nPath.GetInvalidPathChars() \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043e\u0442\u00a00 \u0434\u043e 31 \u0438\u00a0\"&lt;&gt;|\nPath.GetInvalidFileNameChars() \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043e\u0442\u00a00 \u0434\u043e 31 \u0438 \"&lt;&gt;|:*?\\\/\n\/\/ \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b:\nPath.GetTempPath() \/\/ &lt;local user folder&gt;\\Temp\nPath.GetRandomFileName() \/\/ d2dwuzjf.dnp\nPath.GetTempFileName() \/\/ &lt;local user folder&gt;\\Temp\\tmp14B.tmp<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>Combine<\/code> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044f \u0438\u043c\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043a\u043e\u0441\u043e\u0439 \u0447\u0435\u0440\u0442\u043e\u0439. \u041c\u0435\u0442\u043e\u0434\u00a0<code>GetFullPath<\/code> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0432 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439. \u041c\u0435\u0442\u043e\u0434\u00a0<code>GetRandomFileName<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 8.3, \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b. \u041c\u0435\u0442\u043e\u0434\u00a0<code>GetTempFileName<\/code> \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0430\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0438 \u0437\u0430\u0442\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0444\u0430\u0439\u043b \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435.<\/p>\n<h3 id=\"jstoc365\">\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438<\/h3>\n<p>\u0412 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0448\u0435 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 Windows, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a My Documents, Program Files \u0438 \u0434\u0440. \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>GetFolderPath<\/code> \u043a\u043b\u0430\u0441\u0441\u0430 <code>System.Environment<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">string myDocPath = Environment.GetFolderPath\n\u00a0 \u00a0 (Environment.SpecialFolder.MyDocuments);<\/pre>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f <code>enum\u00a0Environment.SpecialFolder<\/code>\u00a0\u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0432 Windows:<\/p>\n<ul class=\"grid-2\">\n<li class=\"col\"><code>AdminTools<\/code><\/li>\n<li class=\"col\"><code>CommonVideos<\/code><\/li>\n<li class=\"col\"><code>Personal<\/code><\/li>\n<li class=\"col\"><code>ApplicationData<\/code><\/li>\n<li class=\"col\"><code>Cookies<\/code><\/li>\n<li class=\"col\"><code>PrinterShortcuts<\/code><\/li>\n<li class=\"col\"><code>CDBurning<\/code><\/li>\n<li class=\"col\"><code>Desktop<\/code><\/li>\n<li class=\"col\"><code>ProgramFiles<\/code><\/li>\n<li class=\"col\"><code>CommonAdminTools<\/code><\/li>\n<li class=\"col\"><code>DesktopDirectory<\/code><\/li>\n<li class=\"col\"><code>ProgramFilesX86<\/code><\/li>\n<li class=\"col\"><code>CommonApplicationData<\/code><\/li>\n<li class=\"col\"><code>Favorites<\/code><\/li>\n<li class=\"col\"><code>Programs<\/code><\/li>\n<li class=\"col\"><code>CommonDesktopDirectory<\/code><\/li>\n<li class=\"col\"><code>Fonts<\/code><\/li>\n<li class=\"col\"><code>Recent<\/code><\/li>\n<li class=\"col\"><code>CommonDocuments<\/code><\/li>\n<li class=\"col\"><code>History<\/code><\/li>\n<li class=\"col\"><code>Resources<\/code><\/li>\n<li class=\"col\"><code>CommonMusic<\/code><\/li>\n<li class=\"col\"><code>InternetCache<\/code><\/li>\n<li class=\"col\"><code>SendTo<\/code><\/li>\n<li class=\"col\"><code>CommonOemLinks<\/code><\/li>\n<li class=\"col\"><code>LocalApplicationData<\/code><\/li>\n<li class=\"col\"><code>StartMenu<\/code><\/li>\n<li class=\"col\"><code>CommonPictures<\/code><\/li>\n<li class=\"col\"><code>LocalizedResources<\/code><\/li>\n<li class=\"col\"><code>Startup<\/code><\/li>\n<li class=\"col\"><code>CommonProgramFiles<\/code><\/li>\n<li class=\"col\"><code>MyComputer<\/code><\/li>\n<li class=\"col\"><code>System<\/code><\/li>\n<li class=\"col\"><code>CommonProgramFilesX86<\/code><\/li>\n<li class=\"col\"><code>MyDocuments<\/code><\/li>\n<li class=\"col\"><code>SystemX86<\/code><\/li>\n<li class=\"col\"><code>CommonPrograms<\/code><\/li>\n<li class=\"col\"><code>MyMusic<\/code><\/li>\n<li class=\"col\"><code>Templates<\/code><\/li>\n<li class=\"col\"><code>CommonStartMenu<\/code><\/li>\n<li class=\"col\"><code>MyPictures<\/code><\/li>\n<li class=\"col\"><code>UserProfile<\/code><\/li>\n<li class=\"col\"><code>CommonStartup<\/code><\/li>\n<li class=\"col\"><code>MyVideos<\/code><\/li>\n<li class=\"col\"><code>Windows<\/code><\/li>\n<li class=\"col\"><code>CommonTemplates<\/code><\/li>\n<li class=\"col\"><code>NetworkShortcuts<\/code><\/li>\n<\/ul>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043f\u043e\u043a\u00a0ApplicationData (\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c\u044b\u0435 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u043e \u0441\u0435\u0442\u0438),\u00a0LocalApplicationData (\u043d\u0435\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f),\u00a0CommonApplicationData (\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430) \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0435\u0441\u0442\u0440\u0430. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0432 \u044d\u0442\u0438\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0445 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c, \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u043c \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<h3 id=\"jstoc366\">\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0434\u0438\u0441\u043a\u0435<\/h3>\n<p>\u0417\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>DriveInfo<\/code>:<\/p>\n<pre class=\"lang:c# decode:true  \">DriveInfo c = new DriveInfo (\"C\"); \/\/ \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u00a0C:\nlong totalSize = c.TotalSize; \/\/\u00a0\u0420\u0430\u0437\u043c\u0435\u0440 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445\nlong freeBytes = c.TotalFreeSpace; \/\/ \u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442 \u0434\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u043a\u0432\u043e\u0442\u0443\nlong freeToMe = c.AvailableFreeSpace; \/\/ \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u043a\u0432\u043e\u0442\u0443\nforeach (DriveInfo d in DriveInfo.GetDrives()) \/\/\u00a0\u0412\u0441\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445\n{\n\u00a0 \u00a0 Console.WriteLine (d.Name); \/\/ C:\\\n\u00a0 \u00a0 Console.WriteLine (d.DriveType); \/\/\u00a0\u0416\u0435\u0441\u0442\u043a\u0438\u0439 \u0434\u0438\u0441\u043a\n\u00a0 \u00a0 Console.WriteLine (d.RootDirectory); \/\/ C:\\\n\u00a0 \u00a0 if (d.IsReady) \/\/ \u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u044b\u0431\u0440\u043e\u0441\u044f\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (d.VolumeLabel); \/\/ System\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (d.DriveFormat); \/\/ NTFS\n\u00a0 \u00a0 }\n}<\/pre>\n<p><code>enum\u00a0DriveType<\/code>\u00a0\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u00a0\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li><code>Unknown<\/code><\/li>\n<li><code>NoRootDirectory<\/code><\/li>\n<li><code>Removable<\/code><\/li>\n<li><code>Fixed<\/code><\/li>\n<li><code>Network<\/code><\/li>\n<li><code>CDRom<\/code><\/li>\n<li><code>Ram<\/code><\/li>\n<\/ul>\n<h3 id=\"jstoc367\">\u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>FileSystemWatcher<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430\u0434 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438 \u0438 \u0438\u0445 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f, \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043f\u043e\u0434\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432. \u0421\u043e\u0431\u044b\u0442\u0438\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0435\u043c \u043e\u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043e &#8212; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c:<\/p>\n<pre class=\"lang:c# decode:true\">static void Main() { Watch (@\"c:\\temp\", \"*.txt\", true); }\nstatic void Watch (string path, string filter, bool includeSubDirs)\n{\n\u00a0 \u00a0 using (var watcher = new FileSystemWatcher (path, filter))\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.Created += FileCreatedChangedDeleted;\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.Changed += FileCreatedChangedDeleted;\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.Deleted += FileCreatedChangedDeleted;\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.Renamed += FileRenamed;\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.Error += FileError;\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.IncludeSubdirectories = includeSubDirs;\n\u00a0 \u00a0 \u00a0 \u00a0 watcher.EnableRaisingEvents = true;\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (\"Listening for events - press &lt;enter&gt; to end\");\n\u00a0 \u00a0 \u00a0 \u00a0 Console.ReadLine();\n\u00a0 \u00a0 }\n}\nstatic void FileCreatedChangedDeleted (object o, FileSystemEventArgs e)\n{\n\u00a0 \u00a0 Console.WriteLine (\"File {0} has been {1}\", e.FullPath, e.ChangeType);\n}\nstatic void FileRenamed (object o, RenamedEventArgs e)\n{\n\u00a0 \u00a0 Console.WriteLine (\"Renamed: {0}-&gt;{1}\", e.OldFullPath, e.FullPath);\n}\nstatic void FileError (object o, ErrorEventArgs e)\n{\n\u00a0 \u00a0 Console.WriteLine (\"Error: \" + e.GetException().Message);\n}<\/pre>\n<h2 id=\"jstoc368\">\u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0430\u0439\u043b\u044b (Memory-Mapped Files)<\/h2>\n<p>\u0422\u0438\u043f\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0445 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d\u00a0<code>System.IO.MemoryMappedFiles<\/code>. \u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u0434\u0430\u044e\u0442 \u0434\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c<\/li>\n<li>\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435<\/li>\n<\/ul>\n<p>\u0425\u043e\u0442\u044f \u043a\u043b\u0430\u0441\u0441\u00a0<code>FileStream<\/code> \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430, \u043e\u043d \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u043d \u0432 10 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0432\u0432\u043e\u0434\u0435-\u0432\u044b\u0432\u043e\u0434\u0435 \u0438 \u0432 10 \u0440\u0430\u0437 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043f\u0440\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u043c \u0447\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0430\u0439\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e:<\/p>\n<ul>\n<li>\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>FileStreams<\/code><\/li>\n<li>\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>MemoryMappedFile<\/code>, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0443 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a<\/li>\n<li>\u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u00a0<code>CreateViewAccessor<\/code> \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435\u00a0<code>MemoryMappedFile<\/code><\/li>\n<\/ul>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>MemoryMappedViewAccessor<\/code>, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0442\u0438\u043f\u043e\u0432, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432.<\/p>\n<pre class=\"lang:c# decode:true\">File.WriteAllBytes (\"long.bin\", new byte [1000000]);\nusing (MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile (\"long.bin\"))\nusing (MemoryMappedViewAccessor accessor = mmf.CreateViewAccessor())\n{\n\u00a0 \u00a0 accessor.Write (500000, (byte) 77);\n\u00a0 \u00a0 Console.WriteLine (accessor.ReadByte (500000)); \/\/ 77\n}<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u0443\u00a0<code>CreateFromFile<\/code> \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0438\u043c\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0430\u0439\u043b\u0430 \u0438 \u0435\u043c\u043a\u043e\u0441\u0442\u044c.<\/p>\n<pre class=\"lang:c# decode:true  \">using (var mmf = MemoryMappedFile.CreateFromFile\n\u00a0 \u00a0 (\"long.bin\", FileMode.Create, null, 1000))<\/pre>\n<p>\u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0442 <code>null\u00a0<\/code>\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u0431\u043b\u043e\u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438. \u0425\u043e\u0442\u044f \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 &#8212;\u00a0<code>CreateNew<\/code>: \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0431\u043b\u043e\u043a \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u0437\u044b\u0432\u0430\u044f\u00a0<code>MemoryMappedFile.CreateNew<\/code> \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0435\u043c\u0443 \u0438\u043c\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0444\u0430\u0439\u043b\u0430, \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u043c\u0435\u0442\u043e\u0434\u00a0<code>MemoryMappedFile.OpenExisting<\/code> \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c.<\/p>\n<pre class=\"lang:c# decode:true  \">\/\/ \u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441:\nusing (MemoryMappedFile mmFile = MemoryMappedFile.CreateNew (\"Demo\", 500))\nusing (MemoryMappedViewAccessor accessor = mmFile.CreateViewAccessor())\n{\n\u00a0 \u00a0 accessor.Write (0, 12345);\n\u00a0 \u00a0 Console.ReadLine();\n}\n\/\/ \u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441:\nusing (MemoryMappedFile mmFile = MemoryMappedFile.OpenExisting (\"Demo\"))\nusing (MemoryMappedViewAccessor accessor = mmFile.CreateViewAccessor())\n\u00a0 \u00a0 Console.WriteLine (accessor.ReadInt32 (0)); \/\/ 12345<\/pre>\n<h3 id=\"jstoc369\">\u041c\u0435\u0442\u043e\u0434\u044b \u0430\u043a\u0441\u0435\u0441\u0441\u043e\u0440\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>CreateViewAccessor<\/code> \u043e\u0431\u044a\u0435\u043a\u0442\u0430 <code>MemoryMappedFile<\/code> \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0430\u043a\u0441\u0435\u0441\u0441\u043e\u0440 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f &#8212; \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>MemoryMappedViewAccessor<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0445.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b\u00a0<code>Read*<\/code>\/<code>Write*<\/code> \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b, <code>bool<\/code>, <code>char<\/code>, \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b (\u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438 \u043f\u043e\u043b\u044f \u0437\u043d\u0430\u0447\u0438\u043c\u044b\u0445 \u0442\u0438\u043f\u043e\u0432). \u0421\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0438 \u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u044b\/\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">\/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0441\u0442\u0440\u043e\u043a\u0438\nbyte[] data = Encoding.UTF8.GetBytes (\"This is a test\");\naccessor.Write (0, data.Length);\naccessor.WriteArray (4, data, 0, data.Length);\n\/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438\nbyte[] data = new byte [accessor.ReadInt32 (0)];\naccessor.ReadArray (4, data, 0, data.Length);\nConsole.WriteLine (Encoding.UTF8.GetString (data)); \/\/ This is a test<\/pre>\n<h2 id=\"jstoc370\">\u0418\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435<\/h2>\n<p>\u041a\u0430\u0436\u0434\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 .NET \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c. \u042d\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 (\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u00a0Silverlight\u00a0\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f), \u043d\u043e \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0440\u044f\u0434\u043e\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 (\u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u044b, \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f).<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u0442\u0438\u043f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438, \u0432\u044b\u0437\u0432\u0430\u0432 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>IsolatedStorageFile<\/code>:<\/p>\n<ul>\n<li><code>GetUserStoreForDomain<\/code><\/li>\n<li><code>GetMachineStoreForDomain<\/code><\/li>\n<li><code>GetUserStoreForAssembly<\/code><\/li>\n<li><code>GetMachineStoreForAssembly<\/code><\/li>\n<\/ul>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u00a0<code>IsolatedStorageFileStream<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">using (IsolatedStorageFile f =\u00a0IsolatedStorageFile.GetMachineStoreForDomain())\nusing (var s = new IsolatedStorageFileStream (\"hi.txt\",FileMode.Create,f))\nusing (var writer = new StreamWriter (s))\n\u00a0 \u00a0 writer.WriteLine (\"Hello, World\");\nusing (IsolatedStorageFile f =\u00a0IsolatedStorageFile.GetMachineStoreForDomain())\nusing (var s = new IsolatedStorageFileStream (\"hi.txt\", FileMode.Open, f))\nusing (var reader = new StreamReader (s))\n\u00a0 \u00a0 Console.WriteLine (reader.ReadToEnd());<\/pre>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>IsolatedStorageFile<\/code> \u0432\u044b\u0437\u0432\u0430\u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434\u00a0<code>IsolatedStorageFile.GetStore<\/code>, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0435\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u0444\u043b\u0430\u0433\u043e\u0432\u00a0<code>StorageScope<\/code>:<\/p>\n<pre class=\"lang:c# decode:true  \">var flags = IsolatedStorageScope.Machine\n\u00a0 \u00a0 | IsolatedStorageScope.Application\n\u00a0 \u00a0 | IsolatedStorageScope.Assembly;\nusing (IsolatedStorageFile f = IsolatedStorageFile.GetStore (flags,\n\u00a0 \u00a0 typeof (StrongName), typeof (StrongName)))\n{\n\u00a0 \u00a0 ...<\/pre>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO.<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[11],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.4.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C# | devKazakov.com<\/title>\n<meta name=\"description\" content=\"\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u0421# \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (streams). \u041a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C# | devKazakov.com\" \/>\n<meta property=\"og:description\" content=\"\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u0421# \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (streams). \u041a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/\" \/>\n<meta property=\"og:site_name\" content=\"devKazakov.com\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-16T14:20:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-08T22:13:54+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roman Kazakov\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"31 \u043c\u0438\u043d\u0443\u0442\u0430\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkazakov.com\/ru\/#website\",\"url\":\"https:\/\/devkazakov.com\/ru\/\",\"name\":\"devKazakov.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkazakov.com\/ru\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#webpage\",\"url\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/\",\"name\":\"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C# | devKazakov.com\",\"isPartOf\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#website\"},\"datePublished\":\"2014-11-16T14:20:17+00:00\",\"dateModified\":\"2022-06-08T22:13:54+00:00\",\"description\":\"\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u0421# \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (streams). \u041a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO\",\"breadcrumb\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkazakov.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C#\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#webpage\"},\"author\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\"},\"headline\":\"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C#\",\"datePublished\":\"2014-11-16T14:20:17+00:00\",\"dateModified\":\"2022-06-08T22:13:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#webpage\"},\"wordCount\":127,\"publisher\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\"},\"keywords\":[\"C#\"],\"inLanguage\":\"ru-RU\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\",\"name\":\"Roman Kazakov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/devkazakov.com\/ru\/#personlogo\",\"inLanguage\":\"ru-RU\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g\",\"caption\":\"Roman Kazakov\"},\"logo\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#personlogo\"},\"sameAs\":[\"https:\/\/devkazakov.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C# | devKazakov.com","description":"\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u0421# \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (streams). \u041a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/","og_locale":"ru_RU","og_type":"article","og_title":"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C# | devKazakov.com","og_description":"\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u0421# \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (streams). \u041a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO","og_url":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/","og_site_name":"devKazakov.com","article_published_time":"2014-11-16T14:20:17+00:00","article_modified_time":"2022-06-08T22:13:54+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"Roman Kazakov","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"31 \u043c\u0438\u043d\u0443\u0442\u0430"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/devkazakov.com\/ru\/#website","url":"https:\/\/devkazakov.com\/ru\/","name":"devKazakov.com","description":"","publisher":{"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkazakov.com\/ru\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ru-RU"},{"@type":"WebPage","@id":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#webpage","url":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/","name":"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C# | devKazakov.com","isPartOf":{"@id":"https:\/\/devkazakov.com\/ru\/#website"},"datePublished":"2014-11-16T14:20:17+00:00","dateModified":"2022-06-08T22:13:54+00:00","description":"\u0412\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u0432 \u0421# \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (streams). \u041a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0438 \u0432\u0432\u043e\u0434\u043e\u043c-\u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d System.IO","breadcrumb":{"@id":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkazakov.com\/ru\/"},{"@type":"ListItem","position":2,"name":"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C#"}]},{"@type":"Article","@id":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#article","isPartOf":{"@id":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#webpage"},"author":{"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3"},"headline":"\u041f\u043e\u0442\u043e\u043a\u0438 (Streams) \u0438 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (IO) \u0432 C#","datePublished":"2014-11-16T14:20:17+00:00","dateModified":"2022-06-08T22:13:54+00:00","mainEntityOfPage":{"@id":"https:\/\/devkazakov.com\/ru\/blog\/streams-io-c-sharp\/#webpage"},"wordCount":127,"publisher":{"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3"},"keywords":["C#"],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3","name":"Roman Kazakov","image":{"@type":"ImageObject","@id":"https:\/\/devkazakov.com\/ru\/#personlogo","inLanguage":"ru-RU","url":"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g","caption":"Roman Kazakov"},"logo":{"@id":"https:\/\/devkazakov.com\/ru\/#personlogo"},"sameAs":["https:\/\/devkazakov.com"]}]}},"_links":{"self":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts\/1033"}],"collection":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/comments?post=1033"}],"version-history":[{"count":1,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts\/1033\/revisions"}],"predecessor-version":[{"id":2039,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts\/1033\/revisions\/2039"}],"wp:attachment":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/media?parent=1033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/categories?post=1033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/tags?post=1033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}