示例#1
0
        /// <summary>
        /// 將傳入之byte[]寫入檔案 (包含建立路徑功能) </summary>
        /// <param name="data"> data (byte[]) </param>
        /// <param name="path"> 檔案路徑 </param>
        /// <param name="fileName"> 檔案名稱 </param>
        /// <exception cref="Exception"> </exception>
        public void WriteToFile(byte[] data, string fileFullPath, bool useUTF8BOM = true)
        {
            // 檢核路徑
            var directory = ZlpPathHelper.GetDirectoryPathNameFromFilePath(fileFullPath);

            DirectoryVerifyExistsAndCreate(directory);

            using (var fos = new ZlpFileInfo(fileFullPath).OpenCreate())
            {
                // 印出訊息
                Console.WriteLine("寫入 " + fileFullPath);

                if (useUTF8BOM)
                {
                    // 寫入 UTF8 HEADER

                    fos.WriteByte(0xEF);
                    fos.WriteByte(0xBB);
                    fos.WriteByte(0xBF);

                    // 寫入檔案
                    fos.Write(data, 0, data.Length);
                }
                else
                {
                    // 寫入檔案
                    fos.Write(data, 0, data.Length);
                }
            }
        }
示例#2
0
        /// <summary>
        /// 檔案下載
        /// </summary>
        /// <param name="fileFullPath"></param>
        /// <returns></returns>
        public void DownLoadFileTo(string fileFullPath, string targetFileFullPath)
        {
            // =============================================================
            // ftpRequest
            // =============================================================
            var ftpRequest = GetFtpWebRequest(fileFullPath);

            ftpRequest.Credentials = new NetworkCredential(this.config.UserID, this.config.Password);
            ftpRequest.KeepAlive   = false;
            ftpRequest.UseBinary   = true;
            ftpRequest.Method      = WebRequestMethods.Ftp.DownloadFile;

            using (var response = (FtpWebResponse)ftpRequest.GetResponse())
            {
                using (var readerStream = response.GetResponseStream())
                {
                    using (var fileStream = new ZlpFileInfo(targetFileFullPath).OpenCreate())
                    {
                        byte[] buffer = new byte[10240];
                        int    read;
                        while ((read = readerStream.Read(buffer, 0, buffer.Length)) > 0)
                        {
                            fileStream.Write(buffer, 0, read);
                        }
                    }
                }
            }
        }