文件流对象引用未设置为对象的实例

Filestream Object reference not set to an instance of an object

我创建了这个 class 来处理文件 io

public class FileStreamManager
{
    public FileStream fileStream;
    public StreamWriter streamWriter;
    public StreamReader streamReader;

    public bool CreateOrAppendFileForOutput(string fileName)
    {
        try
        {

            fileStream = new FileStream(fileName, FileMode.Append, FileAccess.Write);
            streamWriter = new StreamWriter(fileStream);
            return true;
        }
        catch (Exception) { }

        return false;
    }
    public void CloseCreateOrAppendFileForOutput()
    {
        try
        {
            fileStream.Dispose();
            streamWriter.Dispose();
        }
        catch (Exception) { }
    }
}

我正在另一个 class 中使用它,例如

FileStreamManager fsmExcpLog = new FileStreamManager();
fsmExcpLog.CreateOrAppendFileForOutput(todaysTestDirPath + @"\ExceptionLog.txt");

FileStreamManager fsmOffersLog = new FileStreamManager();
fsmOffersLog.CreateOrAppendFileForOutput(todaysTestDirPath + @"\OffersLog.txt");

FileStreamManager fsmTestedAddLog = new FileStreamManager();
fsmExcpLog.CreateOrAppendFileForOutput(System.AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["AddressLogFilePath"].Trim());

但是当我尝试用这个写

fsmTestedAddLog.streamWriter.WriteLine("Some Data");

它给我对象引用未设置到对象错误的实例。 我在调试时查看了 abject stream 变量,它们是空的, 我的问题是,如果我还没有调用 CloseCreateOrAppendFileForOutput() 方法,为什么它们会变成 null?

我认为引用是 null,因为您将它们设置在 try 块中。也许尝试创建一个新对象,并在 try 块中设置它们引用的文件?