[英]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.