HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(strUrl) ;
myReq.Timeout = 3600;
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
下面我想把myStream保存为一个文件,应该使用哪个类的什么方法?
谢谢了,估计这个问题应该很简单,但是我就是不知道。。
myReq.Timeout = 3600;
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
下面我想把myStream保存为一个文件,应该使用哪个类的什么方法?
谢谢了,估计这个问题应该很简单,但是我就是不知道。。
{
......
int length = 1024;
char [] Buffer = new char[1024];
int bytesread = 0; // 从流读取并将任何数据写入到控制台
bytesread = sr.Read( Buffer, 0, length);
while( bytesread > 0 )
{
// fs.Write( Buffer,0, bytesread);
bytesread = sr.Read( Buffer, 0, length);
} // 完成时关闭流
sr.Close();这个是Char[]类型的
myReq.Timeout = 3600;
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();myStream.Position = 0;byte[] bytes = new byte[(int) myStream.Length];
int numBytesToRead = (int) myStream.Length;
int numBytesRead = 0;
while (numBytesToRead > 0)
{
int n = myStream.Read(bytes, numBytesRead, numBytesToRead);
if (n==0)
break;
numBytesRead += n;
numBytesToRead -= n;
}
myStream.Close();StreamWriter objsw = new StreamWriter("filepath.txt");
objsw.Write(System.Text.UTF8Encoding.UTF8.GetString(bytes));
objsw.Close();
楼上的方法我运行抱错
我修改了一下变成
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(strUrl) ;
myReq.Timeout = 3600;
string filepath = @"E:\SWF";
int start = strUrl.LastIndexOf("/",strUrl.Length);
string filename = strUrl.Substring(start,strUrl.Length - start); HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
// Stream myStream = HttpWResp.GetResponseStream(); StreamReader sr = new StreamReader(HttpWResp.GetResponseStream(),System.Text.Encoding.Default);
StreamWriter sw = new StreamWriter(filepath+filename);
sw.Write(sr.ReadToEnd());
sw.Close();
sr.Close();
但是保存下来的和FlashGet下来的不一样大
不知道为什么?
其他信息: 在索引 192 处发现无后续低代理项的高代理项字符。输入可能不在此编码内,或者可能不包含有效的 Unicode (UTF-16)字符。
http://www.vlike.com/v.asp?vlikeflash/200512/dh/1941_shuijingzhilian.swf
Flash地址是上面这个,谁能写个小程序把这个保存下来的?
http://www.vlike.com/vlikeflash/200512/dh/1941_shuijingzhilian.swf用FlashGet就行了。
比如你要写的文件为1.txt
StreamWriter sw = new StreamWriter("1.txt");
char[] buffer = new char[1024];
sw.Write(buffer,0,1024);
sw.Close();
就可以了
异常,此流不支持查询操作
地址哪个是无所谓的,http://www.vlike.com/v.asp?vlikeflash/200512/dh/1941_shuijingzhilian.swf这个地址一样返回整个Flash的数据流,就是不知道用哪个类来保存那个接收的Stream
因为myStream不支持查询操作。