读取ftp文件最后一行以后报错,无法访问已释放的对象。 对象名:System.Net.Sockets.NetworkStream
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取ftp文件最后一行以后报错,无法访问已释放的对象。 对象名:System.Net.Sockets.NetworkStream相关的知识,希望对你有一定的参考价值。
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(936)))
#region 读取FTP服务器csv文件数据
string strLine = "";
//记录每行记录中的各字段内容
string[] aryLine = null;
string[] tableHead = null;
//标示列数
int columnCount = 0;
//标示是否是读取的第一行
bool IsFirst = true;
//逐行读取CSV中的数据
#region 循环遍历数据
//string strfs = reader.ReadToEnd();
while ((strLine = reader.ReadLine()) != null) //这里报错 读取到最后一的时候
//取第一行 为表头
if (IsFirst == true)
tableHead = strLine.Split(',');
IsFirst = false;
columnCount = tableHead.Length;
//创建列
for (int i = 0; i < columnCount; i++)
DataColumn dc = new DataColumn(tableHead[i]);
dt.Columns.Add(dc);
else
aryLine = strLine.Split(',');
DataRow dr = dt.NewRow();
// 添加次行
for (int j = 0; j < columnCount; j++)
dr[j] = aryLine[j];
dt.Rows.Add(dr);
#endregion
if (aryLine != null && aryLine.Length > 0)
dt.DefaultView.Sort = tableHead[0] + " " + "asc";
#endregion
response.Close();
comm.WriteModuleLog(string.Format("读取数据成功!"), "日志");
return dt;
catch (Exception ex)
comm.WriteModuleLog("读取数据出错!" + ex.Message, "日志");
return null;
会这样是因为当读取流读取到最后一行内容后就关闭了文件了
虽然在正常的读取流中会在读取完内容后返回null
但再ftp文件的读取中,读取完最后一行后再读取就会抛出这个异常
其实用您代码注释的这句//string strfs = reader.ReadToEnd();来读取就可以了
如果要分行处理直接用分行符分割一下就可以了 参考技术A 不要对同一个流get两次。。
如果需要读取两次的话 先读取到memoryStream中再做第二次处理。。追问
get两次? 哪里get两次了?
C#Winform打印预览无法访问已释放的对象。
我想打印预览一张图片
第一次单击能打开,关上预览后再单击预览就报错
无法访问已释放的对象。对象名:“PrintPreviewDialog”。
源码为:
namespace WindowsFormsApplication10
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void button1_Click(object sender, EventArgs e)
printPreviewDialog1.Show();
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
e.Graphics.DrawImage(Image.FromFile("c:\\1233.jpg"), 100, 100);
希望有高手能帮帮我,先谢谢了
这个东西要怎么New一个新的呢?
我刚学C#
不太懂
受累说详细点好么?
PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();本回答被提问者采纳
以上是关于读取ftp文件最后一行以后报错,无法访问已释放的对象。 对象名:System.Net.Sockets.NetworkStream的主要内容,如果未能解决你的问题,请参考以下文章