• C#下载文件


    /// <summary>        
            
    /// 下载文件        
            
    /// </summary>        
            
    /// <param name="URL">下载文件地址</param>       
            
    /// 
            
    /// <param name="Filename">下载后的存放地址</param>        
            
    /// <param name="Prog">用于显示的进度条</param>        
            
    /// 
            public void DownloadFile(string URL, string filename, System.Windows.Forms.ProgressBar prog)
            {
                
    try
                {
                    System.Net.HttpWebRequest Myrq 
    = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);
                    System.Net.HttpWebResponse myrp 
    = (System.Net.HttpWebResponse)Myrq.GetResponse();
                    
    long totalBytes = myrp.ContentLength;
                    
    if (prog != null)
                    {
                        prog.Maximum 
    = (int)totalBytes;
                    }
                    System.IO.Stream st 
    = myrp.GetResponseStream();
                    System.IO.Stream so 
    = new System.IO.FileStream(filename, System.IO.FileMode.Create);
                    
    long totalDownloadedByte = 0;
                    
    byte[] by = new byte[1024];
                    
    int osize = st.Read(by, 0, (int)by.Length);
                    
    while (osize > 0)
                    {
                        totalDownloadedByte 
    = osize + totalDownloadedByte;
                        System.Windows.Forms.Application.DoEvents();
                        so.Write(by, 
    0, osize);
                        
    if (prog != null)
                        {
                            prog.Value 
    = (int)totalDownloadedByte;
                        }
                        osize 
    = st.Read(by, 0, (int)by.Length);
                    }
                    so.Close();
                    st.Close();
                }
                
    catch (System.Exception)
                {
                    
    throw;
                }
            }
  • 相关阅读:
    对象布局已知时 C++ 对象指针的转换时地址调整
    采用栈数据结构的二叉树非递归遍历
    ZOJ 3481. Expand Tab
    “金山杯2007逆向分析挑战赛”第一阶段第二题
    “金山杯2007逆向分析挑战赛”第一阶段第一题分析
    对《神奇的C语言》文中例子 5 代码的分析讨论
    对"QQGame-大家来找茬"的辅助工具的改进
    memset 的实现分析
    ZOJ 1958. Friends
    HBase中MVCC的实现机制及应用情况
  • 原文地址:https://www.cnblogs.com/yangxiaohu1/p/1373048.html
Copyright © 2020-2023  润新知