zoukankan      html  css  js  c++  java
  • 自己平时感觉好用的封装的常见方法-未完待续

    写入创建txt文件

    /// <summary>
        /// 生成文件
        /// </summary>
        /// <param name="content">文件内容</param>
        public void CreatePage(string content, string filename)
        {
            try
            {
                if (!System.IO.Directory.Exists(filename.Substring(0, filename.LastIndexOf('/'))))
                {
                    System.IO.Directory.CreateDirectory(filename.Substring(0, filename.LastIndexOf('/')));
                }
                FileStream fs = new FileStream(filename, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
                sw.WriteLine(content);
                sw.Flush();
                sw.Close();
    
                bool result =if (result == false)
                { //发送文件失败
                    HttpContext.Current.Response.Write(filename + "发送失败");
                }
    
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.Write(filename + ex.ToString());
            }
        }

    如果txt文件存在 写入文件

     /// <summary>
        /// 写入文件
        /// </summary>
        /// <param name="dizhi">写入地址</param>
        /// <param name="content">写入内容</param>
        public string WriteToFile(string dizhi, string content, bool isfugai)
        {
            string message = string.Empty;
            try
            {
                System.IO.FileInfo file = new System.IO.FileInfo(dizhi);
                //独占方式,因为文件只能由一个进程写入.
                System.IO.StreamWriter writer1 = null;
                writer1 = new System.IO.StreamWriter(file.FullName, isfugai);//文件不存在就创建
                writer1.WriteLine(content);
                writer1.Close();
            }
            catch
            {
                message = "已有人在同步数据请稍后同步";
            }
            return message;
        }

    写入txt文件

       /// <summary>
        /// 获取微信令牌
        /// </summary>
        /// <returns></returns>
        public string Getjsapi_tiket(string token)
        {
            FileStream fs1 = new FileStream("d:/webwz/m/wxtest/jsapi_tiket.txt", FileMode.Open);
            StreamReader sr = new StreamReader(fs1, Encoding.GetEncoding("GBK"));
            string AccToken = sr.ReadToEnd();
            sr.Close();
            fs1.Close();
            getqianming at = JsonDeserialize<getqianming>(AccToken);
            if (DateTime.Now > Convert.ToDateTime(at.expires_in))
            {
                //当前时间大于过期时间就重新获取jsapi_tiket令牌
                //获取到微信返回的json数据
                string ticket = GetPage("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+token+"&type=jsapi");
                getqianming jstiket = JsonDeserialize<getqianming>(ticket);
                string jstik = jstiket.ticket;
                //将返回的数据写入到文件内
                //{"errcode":0,"errmsg":"ok","ticket":"bxLdikRXVbTPdHSM05e5u6THi9cRoPFeaORrzm-Klx3NMKJVnp0u-oa3DL920A6AsEBxM2DZTRCAkXlS5yoIkg","expires_in":7200}
                //E:/work1/wxtest/jsapi_tiket.txt
                WriteToFile("d:/webwz/m/wxtest/jsapi_tiket.txt", "{"errcode":" + jstiket.errcode + ","errmsg":"" + jstiket.errmsg + "","ticket":"" + jstik + "","expires_in":"" + DateTime.Now.AddSeconds(Convert.ToInt32(jstiket.expires_in) - 300) + ""}", false);
                return jstik;
            }
            else
            { //未过期就继续使用从文档中获取的AccessToken令牌
                return at.ticket;
            }
        }

    json反序列化的

      /// <summary>
        /// json格式转化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public T JsonDeserialize<T>(string jsonString)
        {
            System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
            System.IO.MemoryStream ms = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonString));
            T obj = (T)ser.ReadObject(ms);
            return obj;
        }
  • 相关阅读:
    通过网格拆分高德地图
    vue-router重定向 不刷新问题
    vue-scroller记录滚动位置
    鼠标滚轮更改transform的值(vue-scroller在PC端的上下滑动)
    position sticky的兼容
    js截图及绕过服务器图片保存至本地(html2canvas)
    禁止页面回退到某个页面(如避免登录成功的用户返回到登录页)
    手动创建script解决跨域问题(jsonp从入门到放弃)
    逻辑回归的常见面试点总结
    听说你不会调参?TextCNN的优化经验Tricks汇总
  • 原文地址:https://www.cnblogs.com/taotaoyangyan/p/4819730.html
Copyright © 2011-2022 走看看