コード例 #1
0
 public FileHandle(string filePath, long fileSize, string fileName, FileAccessEnum accessStatus)
 {
     FileSize     = fileSize;
     FilePath     = filePath;
     FileName     = fileName;
     AccessStatus = accessStatus;
 }
コード例 #2
0
 public FileHandle(string _fileName, string _filePath, long _fileSize, FileAccessEnum _status)
 {
     fileName = _fileName;
     filePath = _filePath;
     fileSize = _fileSize;
     status   = _status;
 }
コード例 #3
0
 public FileHandle(long fileSize, string fileName, string filePath, FileAccessEnum fileAccessEnum)
 {
     FileSize       = fileSize;
     FileName       = fileName;
     FilePath       = filePath;
     FileAccessEnum = fileAccessEnum;
 }
コード例 #4
0
ファイル: Program.cs プロジェクト: buzskiy/csharpbuzskiy
 public FileHandle(string filesize, string filename, string filepath, FileAccessEnum fileaccesstype)
 {
     FileSize       = filesize;
     FileName       = filename;
     FilePath       = filepath;
     FileAccessType = fileaccesstype;
 }
コード例 #5
0
 public FileHandle(string name, int size, string path, FileAccessEnum access)
 {
     FileName   = name;
     FileSize   = size;
     FilePath   = path;
     FileAccess = access;
 }
コード例 #6
0
ファイル: Program.cs プロジェクト: buzskiy/csharpbuzskiy
 public void OpenReadWrite(string filepath)
 {
     FileSize       = "10 ";
     FileName       = "ReadAndWriteFileName";
     FilePath       = filepath;
     FileAccessType = FileAccessEnum.Read | FileAccessEnum.Write;
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: buzskiy/csharpbuzskiy
 public void OpenForSpecified(string filepath, string fileaccesstype)
 {
     FileSize       = "10 ";
     FileName       = "WriteOnlyFileName";
     FilePath       = filepath;
     FileAccessType = (FileAccessEnum)Enum.Parse(typeof(FileAccessEnum), fileaccesstype);
 }
コード例 #8
0
ファイル: Program.cs プロジェクト: buzskiy/csharpbuzskiy
 public void OpenForWrite(string filepath)
 {
     FileSize       = "10 ";
     FileName       = "WriteOnlyFileName";
     FilePath       = filepath;
     FileAccessType = FileAccessEnum.Write;
 }
コード例 #9
0
ファイル: Program.cs プロジェクト: buzskiy/csharpbuzskiy
 public void OpenForRead(string filepath)
 {
     FileSize       = "3 ";
     FileName       = "ReadOnlyFileName ";
     FilePath       = filepath;
     FileAccessType = FileAccessEnum.Read;
 }
コード例 #10
0
 public FileHandler(string FileName, string FilePath, FileAccessEnum Access)
 {
     this.FilePath = FilePath;
     this.FileName = FileName;
     this.FileSize = 0;
     this.Access   = Access;
 }
コード例 #11
0
 public FileHandle(string path, FileAccessEnum access)
 {
     FilePath   = path;
     FileAccess = access;
     FileSize   = 1;
     FileName   = ParseFileNameFromPath(path);
 }
 /// <summary>
 ///
 /// Открывает файл в заданном режиме с возможностью чтения и записи.
 /// Файл открывается в режиме разделяемого чтения.
 /// </summary>
 ///
 /// <param name="fileName">
 /// Имя открываемого файла. </param>
 /// <param name="openingMode">
 /// Режим открытия файла. </param>
 /// <param name="fileAccess">
 /// Режим доступа к файлу. </param>
 /// <param name="bufferSize">
 /// Размер буфера для операций с файлом. </param>
 ///
 /// <returns name="FileStream">
 /// Специализированная версия объекта Поток для работы данными, расположенными в файле на диске. Предоставляет возможность чтения из потока, записи в поток и изменения текущей позиции.
 /// По умолчанию, все операции с файловым потоком являются буферизированными, размер буфера по умолчанию - 8 КБ.
 /// Размер буфера можно изменить, в том числе - полностью отключить буферизацию при вызове конструктора.
 /// Следует учитывать, что помимо буферизации существует кэширование чтения и записи файлов в операционной системе, на которое невозможно повлиять программно.</returns>
 ///
 public ФайловыйПоток Открыть(string fileName, FileOpenModeEnum openingMode, FileAccessEnum fileAccess, object bufferSize = null)
 {
     if (bufferSize == null)
     {
         return(ФайловыйПоток.Constructor(fileName, openingMode, fileAccess));
     }
     else
     {
         return(ФайловыйПоток.Constructor(fileName, openingMode, fileAccess, bufferSize));
     }
 }
コード例 #13
0
        public static FileHandle OpenFile(string path, FileAccessEnum access)
        {
            var info = new FileInfo(path);

            return(new FileHandle()
            {
                FileAccess = access,
                FileName = info.Name,
                FileSize = info.Length,
                Path = info.FullName
            });
        }
        public static FileAccess ConvertFileAccessToCLR(FileAccessEnum value)
        {
            switch (value)
            {
            case FileAccessEnum.Read:
                return(FileAccess.Read);

            case FileAccessEnum.Write:
                return(FileAccess.Write);

            default:
                return(FileAccess.ReadWrite);
            }
        }
コード例 #15
0
 public FileHandle(string path)
 {
     this.FilePath  = path;
     this._fileinfo = new FileInfo(this.FilePath);
     this.FileName  = this._fileinfo.Name;
     this.FileSize  = this._fileinfo.Length;
     if (_fileinfo.IsReadOnly)
     {
         this.AccessLevel = FileAccessEnum.Read;
     }
     else
     {
         this.AccessLevel = FileAccessEnum.Read | FileAccessEnum.Write;
     }
 }
コード例 #16
0
        public static FileHandle OpenFile(string filePath, FileAccessEnum accessStatus)
        {
            var fileInfo = new FileInfo(filePath);

            try
            {
                var fileHandle = new FileHandle(fileInfo.DirectoryName,
                                                fileInfo.Length,
                                                fileInfo.Name,
                                                accessStatus);
                return(fileHandle);
            }
            catch (Exception)
            {
                Console.WriteLine("Error");
            }
            return(default(FileHandle));
        }
コード例 #17
0
ファイル: fileaccessenum.cs プロジェクト: CheneyWu/coreclr
    public static int Main()
    {
        FileAccessEnum ac = new FileAccessEnum();

        TestLibrary.TestFramework.BeginTestCase("FileAccessEnum");

        if (ac.RunTests())
        {
            TestLibrary.TestFramework.EndTestCase();
            TestLibrary.TestFramework.LogInformation("PASS");
            return 100;
        }
        else
        {
            TestLibrary.TestFramework.EndTestCase();
            TestLibrary.TestFramework.LogInformation("FAIL");
            return 0;
        }
    }
コード例 #18
0
    public static int Main()
    {
        FileAccessEnum ac = new FileAccessEnum();

        TestLibrary.TestFramework.BeginTestCase("FileAccessEnum");

        if (ac.RunTests())
        {
            TestLibrary.TestFramework.EndTestCase();
            TestLibrary.TestFramework.LogInformation("PASS");
            return(100);
        }
        else
        {
            TestLibrary.TestFramework.EndTestCase();
            TestLibrary.TestFramework.LogInformation("FAIL");
            return(0);
        }
    }
コード例 #19
0
        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);
        }
コード例 #20
0
        public ФайловыйПоток(string filename, FileOpenModeEnum openMode, FileAccessEnum access, int bufferSize = 0)
        {
            ИмяФайла = filename;

            if (bufferSize == 0)
            {
                _underlyingStream = new FileStream(filename,
                                                   МенеджерФайловыхПотоков.ConvertFileOpenModeToCLR(openMode),
                                                   МенеджерФайловыхПотоков.ConvertFileAccessToCLR(access),
                                                   FileShareForAccess(access));
            }
            else
            {
                _underlyingStream = new FileStream(filename,
                                                   МенеджерФайловыхПотоков.ConvertFileOpenModeToCLR(openMode),
                                                   МенеджерФайловыхПотоков.ConvertFileAccessToCLR(access),
                                                   FileShareForAccess(access),
                                                   bufferSize);
            }

            _commonImpl = new GenericStreamImpl(_underlyingStream);
        }
コード例 #21
0
 public FileHandle(string filePath, FileAccessEnum fileAccessEnum) : this()
 {
     FilePath       = filePath;
     FileAccessEnum = fileAccessEnum;
 }
コード例 #22
0
 public static FileHandle OpenFile(string _fileName, FileAccessEnum _status)
 {
     return(_status == FileAccessEnum.Read ?   OpenForRead(_fileName) :  OpenForWrite(_fileName));
 }
コード例 #23
0
 private static FileHandle OpenFile(string filePath, FileAccessEnum fileAccess)
 {
     return(new FileHandle(filePath, fileAccess));
 }
コード例 #24
0
 public bool AccessMode(FileAccessEnum access)
 {
     return(FileAccess.HasFlag(access));
 }
コード例 #25
0
ファイル: Program.cs プロジェクト: khnatovska/ShkolaSoftheme
 public static FileHandle OpenFile(string path, FileAccessEnum access)
 {
     return(new FileHandle(path, access));
 }
コード例 #26
0
 private FileShare FileShareForAccess(FileAccessEnum access)
 {
     return(access == FileAccessEnum.Read ? FileShare.ReadWrite : FileShare.Read);
 }
コード例 #27
0
 public void Close()
 {
     FileAccess = (FileAccessEnum)0;
 }
コード例 #28
0
 public FileHandle OpenForRead()
 {
     this.FileAccess = this.FileAccess | FileAccessEnum.Read;
     return(this);
 }
コード例 #29
0
 //For already opened file - add another access modifier:
 public FileHandle OpenForWrite()
 {
     this.FileAccess = this.FileAccess | FileAccessEnum.Write;
     return(this);
 }
コード例 #30
0
 public static FileHandle OpenFile(string fileName, string filePath, FileAccessEnum fileAccess)
 {
     return(new FileHandle(fileName, filePath, fileAccess));
 }
コード例 #31
0
 //Calling default constructor because before c#6 auto properties
 //can't be used in structs without it.
 public FileHandle(string fileName, string filePath, FileAccessEnum fileAccess) : this()
 {
     FileName   = fileName;
     FilePath   = filePath;
     FileAccess = fileAccess;
 }