Esempio n. 1
0
        // ---------------------------------------------------------------
        // 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));
        }
Esempio n. 2
0
 // ---------------------------------------------------------------
 // Makes reader writer
 // ---------------------------------------------------------------
 public abstract FArchive CreateFileReader(string filename, EFileRead readFlags   = EFileRead.None, IOutputDevice error  = null);