Maison  >  Article  >  développement back-end  >  Flux .net - une brève introduction au système de type de flux

Flux .net - une brève introduction au système de type de flux

黄舟
黄舟original
2017-02-24 10:42:381539parcourir


流的类型体系

 

基础流

基础流

装饰器流

包装器类

帮助类

继承自基本的stream

在基础Stream上添加的功能

数据传输

对文件流的操作变简单

装饰器流

包装器类

帮助类 td>

继承自基本的stream

在基础Stream上添加的功能

数据传输

对文件流的操作变简单


基础流

 

Stream

对应的后备存储是文件

内存

网络资源

 

 

FileStream

MemoryStream

NetWorkStream

 

 

IsolatedStorgaeFileStream:

继承自FileStream

 

 

 

Flux td>

对应的后备存储是文件

网络资源

  FileStream MemoryStream NetWorkStream   继承自FileStream      

 

    感觉还是挺类Java的。


装饰器流

 

BufferdStream

DeflateStream

GZipStream

CryptoStream

AuthenticatedStream

System.io

System.IO.Compression

System.IO.Compression

System.Security.Cryptography

System.net.security

增强缓存

压缩

解压缩

加密解密

安全性

dStreamCryptoStream AuthenticatedStream System.io System.IO.Compression System.IO.Compression Système .Security.Cryptography System.net.security 增强缓存 压缩 解压缩 安全性

Le modèle Lenovo Decorator ajoute probablement d'autres fonctions au flux de base, ce qui est un peu comme une extension des fonctionnalités du type de base.

Classe Wrapper

Introduit des flux pour la transmission de données

TextWriter

TextReader(定义的一组通用的,读取和写入字符数据的方式)

 

StreamReader

StreamWriter

1,继承自

TextWriter

TextReader,定义了一组通用的,读取和写入字符数据的方式

 

2,适用于读取和写入文本字符的场合

 

BinaryReader:用于向流中以二进制的方式写入基元类型

BinaryWriter:用于从流中读取基元类型

StringReader

StringWriter:

1,也继承自

TextWriter

TextReader,用于处理字符串

 

 

 

TextWriter

Texte Lecteur (défini comme un ensemble de méthodes courantes de lecture et d'écriture de données de caractères)

StreamReader

StreamWriter:

1, hérité de TextWriter

TexteLecteur , définit un ensemble de façons courantes de lire et d'écrire des données de caractères 2, adapté à la lecture et à l'écriture de caractères de texte

BinaryReader : utilisé pour écrire des types primitifs dans le flux sous forme binaire

BinaryWriter : utilisé pour lire les types primitifs à partir des flux

St ringReaderStringWriter :1, également hérité de TextWriter

TextReader, utilisé pour traiter les chaînes

 

 #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);

        }
    }

帮助类

 

命名空间: système.io

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

/DirecoryInfo

File

FileInfo

Path

Directory/DirecoryInfo

Create;

Open;

openRead;

openWrite;

Copy;

 

处理路径


FileInfo


Chemin

Créer;

Ouvrir;

openRead;


openWrite;

Copie;


处理路径




在使用的时候,还是应该先考虑已有的高级类是否封装了可用的方法,没有的话,再考虑使用基本类进行封装。



 以上就是.net 流——流的类型体系简单介绍的内容,更多相关内容请关注PHP中文网(www.php.c n)!



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn