自己平时感觉好用的封装的常见方法-未完待续

写入创建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;
    }
时间: 2024-10-13 13:07:51

自己平时感觉好用的封装的常见方法-未完待续的相关文章

练武场之“封装、继承”攻略(未完待续)

如题: 使用继承编写Person.Student类 编写Person类: 属性有:姓名.年龄.出生日期 方法有:showInfo(); 编写Student类: 属性有:姓名.年龄.出生日期.学校 方法有:showInfo(); study(); 使用继承优化Student类. Ready Go! 第一步 Person类 1 package a; 2 //父类 3 public class Person { 4 // 为了让成员变量隐藏(封装),便于对值制定规则:否则变量会被直接赋值. 5 pri

Canvas--基于SVG封装的网页绘图组件(未完待续)

注:源码已放在github上,地址为:https://github.com/Wellla/canvas.git,需要使用的同学自行下载(自己比较懒,没有做mesh)     前言:Canvas,没错,这个名字和大明鼎鼎html5的canvas同名,因为再也没什么名有这么形象,组件也是在raphael的基础上进行了“面向对象”的封装,这个组件是我来公司第一个月写出来的,不过因为当时写出来了交由前端同事维护,也一直没时间去管,今天有时间才把一直没完成的平面三角坐标系模型和外部连线算法弄完,打算分享给

封装SQL访问方法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data.SqlClient; namespace _04封装SQL访问方法 { public class SqlHelper { //读取连接字符串 private static readonly string str = Configurat

PHP封装Excel表方法使用流程

今天总结了一下Excel表的封装和导出使用,原理 经常使用与一些日常报表, 数据报表, 实现方法比较简单, 一次封装, 简单的方法调用,简单~ 废话不多说,直接入正题, 先说下重要的参数要记住的东西 impUser() 导入方法 exportExcel($xlsName,$xlsCell,$xlsData);导出方法 PHPExcel.php  PHP主文件, 放置各种class结合核心文件 <Fatal error:Class 'ZipArchive' not found in.....  这

如何调用封装的私有方法或私有对象

一般情况下,一个对象的私有方法或私有属性,是无法调用的,但在开发过程中,突然发现我们要钻牛角了,你不准调,但我一定要调 例前段时间,在项目中客户提出了能对报表的列进行顺序调整,并且同一台机子上不同的账号登录修改后的保存能独立,这个好解决应用微软的CacheManager能很好的解决,牛角来了....如果我要在项目中删除所有关于某个报表的记忆缓存咋办,可是只有一个公共的Remove(String Key)方法:问题是Key我用的是用户账号,我不想循环系统所有的账号去删除..... 在调试过程我发现

无铜环双界面智能卡封装框架制作方法

无铜环双界面智能卡封装框架制作方法,属于电子信息技术领域,主要应用于IC封装框架领域.本发明首先采用一面带铜的环氧树脂布,经冲压.前处理.覆膜.曝光.显影.蚀刻制作出第二接触层(3):再在无铜箔面贴铜箔.烘干.前处理.覆膜.曝光.显影.蚀刻制作出第一接触层(2):然后,对第一接触层(2)和第二接触层(3)进行表面处理.导电线大大减少的双界面智能卡封装框架,减少了镀金的面积,节约了成本.而且贴入芯片时,减少了导线因与铜环接触而发生短路的可能性. 1.无铜环双界面智能卡封装框架制作方法,其特征在于:

.264视频文件封装成.MP4方法

.264视频文件封装成.MP4方法 需求: 海康威视输出的视频格式为.264格式,而html5端对其不支持,所以需要将其封装成. mp4格式. Tips:我们常常提到的. mp4格式视频,其实指的是一种容器(或者说集合体),包括视频.音频,甚至是字幕等.而.264是指一种视频的编码方式,起压缩作用.所以将.264文件转换成.mp4文件,其实就是一个解码的过程. 思路: 网上已经提供解决方案,采用ffmpeg库,先将.264文件解码,再编码生成.mp4文件,但这种方式效率较低,10M的视频可能需要

几种封装javaBean的方法

开发框架时,经常需要使用java对象(javaBean)的属性来封装程序的数据,封装javaBean的方法有很多,比如反射,内省,以及使用工具类.下面从反射开始介绍. 1.javaBean介绍: 简介: JavaBean是使用Java语言开发的一个可重用的组件,在开发中可以使用JavaBean减少重复代码,使整个代码的开发更简洁. 编写要求: javaBean本身是一个类,设计该类的时候要遵循一下方法: 1.如果成员变量的名字是xxx,则相应地有两个用来得到成员变量值和设置变量值的方法,它们分别

在jsp提交表单的参数封装到一个方法里

建议去看一下孤傲苍狼写的Servlet+JSP+JavaBean开发模式(http://www.cnblogs.com/xdp-gacl/p/3902537.html), 最好把他JavaWeb学习总结全部看完会有很大的收获哦! 而把jsp专递的参数封装到一个方法里面也是从他那里学到的. 我觉得特别有用,尤其是在做项目的时候能省很多的代码  一: 需要的包 根据上一篇JDBC+Servlet+jsp(http://www.cnblogs.com/zhu520/p/6913650.html)的内容