ホームページ  >  記事  >  バックエンド開発  >  .net ストリーム - ストリーム タイプ システムの簡単な紹介

.net ストリーム - ストリーム タイプ システムの簡単な紹介

黄舟
黄舟オリジナル
2017-02-24 10:42:381545ブラウズ


ストリーム型システム

基本ストリーム

デコレータストリーム

ラッパークラス

ヘルパークラス

継承関数が追加されました基本的な streamstream

の基本的な Stream

データ転送

ファイルストリームの操作が簡単になります


基本ストリーム

ストリーム

対応するバッキングストレージはファイル

メモリ

オンラインリソース

FileStream

MemoryStream

NetWorkStream

IsolatedStorgae

FileStream

から継承

まだかなり Java っぽい感じがします。


デコレーターストリーム

BufferdStream

DeflateStream

GZipStream

CryptoStream

AuthenticatedStream

System.io

System.IO.Compression

System.IO.Compression

Systemのセキュリティ

強化されたキャッシュ
圧縮

解凍

暗号化と復号化

セキュリティ

Lenovo デコレータ モードは、おそらく基本的なフローに他の機能を追加するもので、基本タイプの機能の拡張に似ています。

ラッパークラス

データ送信のためのストリームの概要

(一連の一般的な定義、文字データの取得と書き込みの方法を参照)

TextReaderText

ストリームリーダーStreamWriter:

TextWriter

から継承された

1は、文字データを読み書きするための一般的な方法のセットを定義します

2、テキスト文字の読み取りと書き込みに適しています

BinaryReader: テキスト文字の読み取りと書き込みに使用されます。プリミティブ型をバイナリ形式でストリームに書き込みます

BinaryWriter

: ストリームからプリミティブ型を読み取るために使用されます

StringReader

StringWriter: 1、

TextWriter

Readerからも継承され、文字列を処理する

 #region StringReader,StringWriter的使用;

//                string text = @"姓名:水田如雅;
//                                年龄:20;
//                                性别:女";
//                StringReader reader = new StringReader(text);
//                int c = reader.Read();
//                Console.WriteLine((char)c);

//                char[] buffer = new char[7];
//                reader.Read(buffer, 0, buffer.Length);
//                Console.WriteLine(string.Join("", buffer));

//                string line = reader.ReadLine();
//                Console.Write(line);

//                string rest = reader.ReadToEnd();
//                Console.WriteLine(rest);

//                reader.Dispose();
//                Console.ReadKey();

            #endregion

            #region streamreader/StreamWriter的使用

                //FileStream fs = new FileStream("AboutVac.txt", FileMode.Open, FileAccess.Read);
                //StreamReader reader=new StreamReader(fs,Encoding.GetEncoding("GB2312"));

                //do
                //{
                //    Console.WriteLine(reader.ReadLine());

                //} while (reader.Read()>0);

                //StreamWriter writer = new StreamWriter("aboutMe.txt", false, Encoding.UTF8);
                //writer.Write("hello,word");
              
                //reader.Dispose();
                //writer.Dispose();

                //Console.ReadKey();


            #endregion

            #region BinaryReader/BinaryWriter的使用

                //Product product = new Product("Product.txt") { 
            
                //        id=110,
                //        price=123.3,
                //        Name="lhc"
            
                //};
                //product.Save();
                //Product newItem =new  Product("Product.txt");
                //newItem.Load();
                //Console.WriteLine(newItem);
                //Console.ReadKey();
                


            #endregion
public class Product {

        public int id { get; set; }
        public string Name { get; set; }
        public double price { get; set; }

        private string filePath;
        public Product(string filePath) { this.filePath = filePath; }

        public void Save() {

            FileStream fs = new FileStream(this.filePath, FileMode.Create, FileAccess.Write);
            BinaryWriter writer = new BinaryWriter(fs);
            writer.Write(this.id);
            writer.Write(this.Name);
            writer.Write(this.price);
            writer.Dispose();
        }

        public void Load() {

            FileStream fs = new FileStream(this.filePath, FileMode.Open, FileAccess.Read);
            BinaryReader reader = new BinaryReader(fs);
            this.id = reader.ReadInt32();
            this.Name = reader.ReadString();
            this.price = reader.ReadDouble();
            reader.Dispose();
        
        }

        public override string ToString()
        {
            return string.Format("ID:{0},Name:{1},Price:{2}", this.id, this.Name, this.price);

        }
    }

ヘルパークラス

名前空間: system.io

ファイル

ファイル情報

パス

ディレクトリ/DirecoryInfo

作成;

開く;

openRead;

openWrite;

コピー;

処理パス




  #region 工具类示例
               // File.WriteAllText("FileTest.txt", "hello,i'm using file ", Encoding.UTF8);
  #endregion

これを使用する場合は、既存の高レベルのクラスが使用可能なメソッドをカプセル化するかどうかを最初に検討する必要があります。カプセル化されていない場合は、カプセル化に基本クラスを使用することを検討してください。


上記は、フロー タイプ システムである .net フローの簡単な紹介です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。











声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。