簡體   English   中英

未使用(READTOEND)將對象引用設置為對象的實例

[英]Object reference not set to an instance of an object using ( READTOEND)

我有以下代碼,可以使用ftp下載txt文件並寫回另一個文件。

 ftp = (FtpWebRequest)WebRequest.Create("ftp://" + ftpHost + ftpDIR + "/SAPValidObjects.txt");
 ftp.Method = WebRequestMethods.Ftp.DownloadFile;
 ftp.UseBinary = false;
 ftp.Credentials = new NetworkCredential(ftpUserID, ftpPWD);
 FtpWebResponse response = (FtpWebResponse)ftp.GetResponse();
 Stream sResponse = response.GetResponseStream();
 StreamReader srSAPCostObjects = new StreamReader(sResponse);
 m_swSAPCostCentres.Write(srSAPCostObjects.ReadToEnd());
 m_swSAPCostCentres.Close();
 response.Close();

 m_swSAPCostCentres = new StreamWriter(Properties.Settings.Default.SAPInt + @"\SAPCostCentres" + ".txt");

由於某種原因,它會拋出異常

 m_swSAPCostCentres.Write(srSAPCostObjects.ReadToEnd());

不知道為什么,請有人指導我。

可能是typo但是您在引用m_swSAPCostCentres后將其initializing 可能是問題所在嗎?

我想問題是您要寫入的文件已經存在,並且已由另一個應用程序打開。

嘗試刪除文件:

Properties.Settings.Default.SAPInt + @"\SAPCostCentres" + ".txt"

(如果存在),然后嘗試再次創建它。

在代碼中,您還應該添加一個try catch並確保您使用using語句來包裝一次性對象,或者在catch中調用close方法,或者最終阻塞,以便始終關閉流和其他對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM