读书人

关闭流的顺序解决方法

发布时间: 2012-02-20 21:18:23 作者: rapoo

关闭流的顺序
NetworkStream ns = ...;
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWrtier(ns);

问题:ns,sr,sw 应如何关闭,用怎样的顺序关闭。sr和sw似乎只能关掉一个。



[解决办法]
StreamReader 和StreamWriter 没什么关系吧。。。NetworkStream 放在最后
[解决办法]
测了一下,发现3者关闭顺序应该如下:

C# code
using System;using System.IO;using System.Net.Sockets;using System.Net;class Example{    static void Main()    {        Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);        IPAddress hostAddress = Dns.GetHostEntry("localhost").AddressList[0];        s.Connect(hostAddress, 8000);        NetworkStream ns = new NetworkStream(s);        StreamReader sr = new StreamReader(ns);        char[] buffer=new char[5];        sr.Read(buffer, 0, 1);        StreamWriter sw = new StreamWriter(ns);        sw.Write(true);        sw.Close();        sr.Close();        ns.Close();    }} 

读书人网 >C#

热点推荐