CSharpUtils.VirtualFileSystem.FileSystem.OpenFileRead C# (CSharp) Метод

OpenFileRead() публичный Метод

public OpenFileRead ( String FileName ) : FileSystemFileStream
FileName String
Результат FileSystemFileStream
		public FileSystemFileStream OpenFileRead(String FileName)
		{
			return OpenFile(FileName, FileMode.Open);
		}

Usage Example

Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="SourceFileSystem"></param>
        /// <param name="SourcePath"></param>
        /// <param name="DestFileSystem"></param>
        /// <param name="DestPath"></param>
        /// <param name="ActionValidate"></param>
        /// <param name="ActionProgress"></param>
        static public void CopyTree(FileSystem SourceFileSystem, String SourcePath, FileSystem DestFileSystem, String DestPath, Func <FileSystemEntry, bool> ActionValidate = null, Action <FileSystemEntry, long, long> ActionProgress = null, byte[] Buffer = null)
        {
            if (ActionValidate == null)
            {
                ActionValidate = ((Entry) => true);
            }
            if (ActionProgress == null)
            {
                ActionProgress = (Entry, Current, Max) => { }
            }
            ;
            //if (Buffer == null) Buffer = new byte[16 * 1024 * 1024];
            if (Buffer == null)
            {
                Buffer = new byte[2 * 1024 * 1024];
            }

            foreach (var SourceEntry in SourceFileSystem.FindFiles(SourcePath))
            {
                var SourceFullPath = SourcePath + "/" + SourceEntry.Name;
                var DestFullPath   = DestPath + "/" + SourceEntry.Name;

                if (!ActionValidate(SourceEntry))
                {
                    continue;
                }

                if (SourceEntry.Type == FileSystemEntry.EntryType.Directory)
                {
                    DestFileSystem.CreateDirectory(DestFullPath, 0777, false);
                    CopyTree(SourceFileSystem, SourceFullPath, DestFileSystem, DestFullPath, ActionValidate, ActionProgress, Buffer);
                }
                else
                {
                    //
                    if (
                        !DestFileSystem.Exists(DestFullPath) ||
                        (SourceFileSystem.GetFileInfo(SourceFullPath).Size != DestFileSystem.GetFileInfo(DestFullPath).Size)
                        )
                    {
                        using (var SourceStream = SourceFileSystem.OpenFileRead(SourceFullPath))
                            using (var DestStream = DestFileSystem.OpenFile(DestFullPath, FileMode.Create))
                            {
                                SourceStream.CopyToFast(DestStream, Buffer, (Current, Max) =>
                                {
                                    ActionProgress(SourceEntry, Current, Max);
                                });
                            }
                    }
                }
            }

            Buffer = null;
        }
All Usage Examples Of CSharpUtils.VirtualFileSystem.FileSystem::OpenFileRead