我这有个TXT:http://static.yunwd.net/File/SWF/10/10185/1.txt请求后用string是存不了内容的(只能存一小段内容),因为,这个txt里有个很莫名其妙的“截断控制符”,我也是第一次听说,但是就是这个东西导致用了string保存变量后内容丢失。
so,必须用byte[]来保存,但是显示到窗体又不行,因为窗体接受string,所以说我得把那些“截断控制符”过滤掉。好了,有人知道这所谓的“截断控制符”是神马东西了吗?如何过滤呢?
so,必须用byte[]来保存,但是显示到窗体又不行,因为窗体接受string,所以说我得把那些“截断控制符”过滤掉。好了,有人知道这所谓的“截断控制符”是神马东西了吗?如何过滤呢?
解决方案 »
- 怎么判断图片的类型?
- OracleClient连接Oracle插入时异常:ORA-01036: 非法的变量名/编号
- dateTimePicker 获取的内容格式问题!
- 《C#入门经典》大家都完整读过吗?
- C# 定时向数据库插入数据,在线等。。
- 请教
- 求 Udpclient p2p传文件的例子(简单点就行,学习下)
- 安装补丁KB928365后原来的Remoting服务报异常,高手救命啊
- 求教:用C#开发的WinForm应用程序是否能运行在Win98下
- winform双窗口切换的问题。
- 问一个.net的控制台程序配置在win7下计划任务的问题
- 如何实现,让文本框只能输入数字,不能输入非数字字符呢?
WebResponse result = null; WebRequest req = WebRequest.Create("http://static.yunwd.net/File/SWF/10/10185/1.txt");
result = req.GetResponse();
Stream ReceiveStream = result.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("GB2312");
StreamReader sr = new StreamReader(ReceiveStream, encode);
Char[] read = new Char[256];
int count = sr.Read(read, 0, 256);
while (count > 0)
{
String str = new String(read, 0, count);
StrReturn += str;
count = sr.Read(read, 0, 256);
}
MessageBox.Show(StrReturn);第二种方式:(用byte[]存,下载的内容时完整的,但是得转成string前必须把“截断控制符”给过滤掉,我的问题也就是如何过滤“截断控制符”?)
string a = " ";
var req = WebRequest.Create("http://static.yunwd.net/File/SWF/10/10185/1.txt");
var result = req.GetResponse();
byte[] buffer;
using (var ReceiveStream = result.GetResponseStream())
{
buffer = new byte[result.ContentLength];
int offset = 0;
while (offset < buffer.Length)
{
int read = ReceiveStream.ReadByte();
buffer[offset] = (byte)read;
offset++;
}
}
System.IO.FileStream fs = new System.IO.FileStream("2.txt", System.IO.FileMode.OpenOrCreate); //写入到Bin目录下
fs.Write(buffer, 0, buffer.Length);
fs.Close();
if (read == 0)
{
read = 32;
}