当前位置: 首页>>代码示例>>C#>>正文


C# FileInfo.ShouldNotBeNull方法代码示例

本文整理汇总了C#中System.IO.FileInfo.ShouldNotBeNull方法的典型用法代码示例。如果您正苦于以下问题:C# FileInfo.ShouldNotBeNull方法的具体用法?C# FileInfo.ShouldNotBeNull怎么用?C# FileInfo.ShouldNotBeNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.IO.FileInfo的用法示例。


在下文中一共展示了FileInfo.ShouldNotBeNull方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Download

        /// <summary>
        /// FTP 원격 파일을 지정한 로칼 파일로 저장한다.
        /// </summary>
        /// <param name="remoteFilename">원격 파일 전체 경로 (예: /Users/debop/readme.txt)</param>
        /// <param name="localFI">로칼 파일 정보</param>
        /// <param name="canOverwrite">겹쳐쓰기 여부</param>
        /// <returns>다운로드 여부</returns>
        public virtual bool Download(string remoteFilename, FileInfo localFI, bool canOverwrite = false) {
            localFI.ShouldNotBeNull("localFI");

            if(IsDebugEnabled)
                log.Debug("원격 파일을 다운로드 합니다... remoteFilename=[{0}], localFilename=[{1}], canOverwrite=[{2}]",
                          remoteFilename, localFI.FullName, canOverwrite);

            if(localFI.Exists && !canOverwrite)
                throw new FtpException("로컬 파일이 이미 존재합니다. localFile=" + localFI.FullName);

            bool isDownload;

            using(var localStream = new BufferedStream(localFI.OpenWrite())) {
                isDownload = Download(remoteFilename, localStream);

                if(isDownload)
                    localStream.Flush();
            }

            if(isDownload == false)
                With.TryAction(() => localFI.Delete());

            if(IsDebugEnabled)
                log.Debug("원격 파일[{0}]을 다운로드 작업을 마쳤습니다. 로컬 파일=[{1}], 성공여부=[{2}]",
                          remoteFilename, localFI.FullName, isDownload);

            return isDownload;
        }
开发者ID:debop,项目名称:NFramework,代码行数:35,代码来源:FtpClient.cs

示例2: UploadTask

        /// <summary>
        /// <paramref name="ftpClient"/>를 이용하여, 로컬 파일 스트림을 FTP 서버로 Upload 합니다.
        /// </summary>
        /// <param name="ftpClient"></param>
        /// <param name="localFi"></param>
        /// <param name="remoteFilename">원격 파일 경로</param>
        /// <returns></returns>
        public static Task<bool> UploadTask(this FtpClient ftpClient, FileInfo localFi, string remoteFilename = null) {
            localFi.ShouldNotBeNull("localFi");

            if(IsDebugEnabled)
                log.Debug("FTP 서버로 파일[{0}]을 비동기 방식으로 업로드합니다... 원격파일=[{1}]", localFi.FullName, remoteFilename);

            var stream = localFi.OpenRead();
            return
                UploadTask(ftpClient, stream, remoteFilename ?? localFi.Name)
                    .ContinueWith(t => {
                                      stream.Close();
                                      return t.Result;
                                  },
                                  TaskContinuationOptions.ExecuteSynchronously);
        }
开发者ID:debop,项目名称:NFramework,代码行数:22,代码来源:FtpAsync.cs

示例3: Upload

        /// <summary>
        /// 지정된 로칼 파일을 FTP 서버에 지정된 파일명으로 저장한다.
        /// </summary>
        /// <param name="fi"></param>
        /// <param name="remoteFilename"></param>
        /// <returns></returns>
        public virtual bool Upload(FileInfo fi, string remoteFilename) {
            fi.ShouldNotBeNull("fi");

            if(IsDebugEnabled)
                log.Debug("Upload local file to ftp server. local file=[{0}], remoteFilename=[{1}]", fi.FullName, remoteFilename);

            if(remoteFilename.IsWhiteSpace()) // 원격파일명을 지정하지 않은 경우는
                remoteFilename = CurrentDirectory + fi.Name;

            using(var bs = new BufferedStream(fi.OpenRead()))
                return Upload(bs, remoteFilename);
        }
开发者ID:debop,项目名称:NFramework,代码行数:18,代码来源:FtpClient.cs

示例4: DownloadTask

        /// <summary>
        /// FTP 서버의 원격 파일을 로컬로 비동기 방식으로 다운로드 받습니다.
        /// </summary>
        public static Task<bool> DownloadTask(this FtpClient ftpClient, string remoteFilename, FileInfo localFi) {
            localFi.ShouldNotBeNull("localFi");

            if(IsDebugEnabled)
                log.Debug("원격 파일을 다운로드 받는 작업을 생성합니다... remoteFilename=[{0}], localFi=[{1}]", remoteFilename, localFi.FullName);

            var stream = localFi.OpenWrite();

            return
                DownloadTask(ftpClient, remoteFilename, stream)
                    .ContinueWith(t => {
                                      stream.Close();
                                      return t.Result;
                                  },
                                  TaskContinuationOptions.ExecuteSynchronously);
        }
开发者ID:debop,项目名称:NFramework,代码行数:19,代码来源:FtpAsync.cs


注:本文中的System.IO.FileInfo.ShouldNotBeNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。