// --------------------------------------------------------------- // Makes reader writer // --------------------------------------------------------------- public override FArchive CreateFileReader(string filename, EFileRead readFlags = EFileRead.None, IOutputDevice error = null) { if (filename == null) { throw new ArgumentNullException("filename"); } FileStream fs = null; var fileInfo = new FileInfo(filename); if (fileInfo.Exists) { fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); } else { if (readFlags.IsFlagSet(EFileRead.NoFail)) { fs = new FileStream(filename, FileMode.Create, FileAccess.Read, FileShare.ReadWrite); } else { throw new FileNotFoundException(filename); } } return(new FBinaryStreamReader(fs, error)); }
// --------------------------------------------------------------- // Makes reader writer // --------------------------------------------------------------- public abstract FArchive CreateFileReader(string filename, EFileRead readFlags = EFileRead.None, IOutputDevice error = null);