public DataWriter(string fileName, IValue textEncoding, ByteOrderEnum?byteOrder, string lineSplitter, bool append, string convertibleSplitterOfLines, bool writeBOM) { ByteOrder = byteOrder ?? ByteOrderEnum.LittleEndian; LineSplitter = lineSplitter ?? "\r\n"; ConvertibleSplitterOfLines = convertibleSplitterOfLines; _writeBOM = writeBOM; TextEncoding = textEncoding; var fileSubsystem = new FileStreamsManager(); var fileStreamContext = append ? fileSubsystem.OpenForAppend(fileName) : fileSubsystem.OpenForWrite(fileName); _binaryWriter = new BinaryWriter(fileStreamContext.GetUnderlyingStream(), _workingEncoding); }
public FileStreamContext(string filename, FileOpenModeEnum openMode, FileAccessEnum access, int bufferSize = 0) { FileName = filename; if (bufferSize == 0) { _underlyingStream = new FileStream(filename, FileStreamsManager.ConvertFileOpenModeToCLR(openMode), FileStreamsManager.ConvertFileAccessToCLR(access)); } else { _underlyingStream = new FileStream(filename, FileStreamsManager.ConvertFileOpenModeToCLR(openMode), FileStreamsManager.ConvertFileAccessToCLR(access), FileShare.Read, bufferSize); } _commonImpl = new GenericStreamImpl(_underlyingStream); }