【文件操作类】史上最完整的文件和目录操作类
<a target=_blank href="http://bbs.cskin.net/thread-114-1-1.html">http://bbs.cskin.net/thread-114-1-1.html</a>
(出处: CSkin论坛)
 一个非常非常完整强大的文件和文件夹操作类,基于System.IO下面的Directory和File扩展出了我们经常要用到的但是系统不自带的方法例如:<ul class="litype_1" type="1"><li>获取一个目录下面的所有文件。</li><li>支持遍历子目录、验证目录是否为空。</li><li>移动复制文件、批量删除文件以及对文件的写入、修改、追加对目录的清空等多个方法。</li></ul>
using System;
using System.Text;
using System.IO;namespace HelloCsharp.Utilities
{/// <summary>/// 文件操作类/// </summary>public static class DirFile{#region 检测指定目录是否存在/// <summary>/// 检测指定目录是否存在/// </summary>/// <param name="directoryPath">目录的绝对路径</param>/// <returns></returns>public static bool IsExistDirectory(string directoryPath){return Directory.Exists(directoryPath);}#endregion#region 检测指定文件是否存在,如果存在返回true/// <summary>/// 检测指定文件是否存在,如果存在则返回true。/// </summary>/// <param name="filePath">文件的绝对路径</param>        public static bool IsExistFile(string filePath){return File.Exists(filePath);}#endregion#region 获取指定目录中的文件列表/// <summary>/// 获取指定目录中所有文件列表/// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>        public static string[] GetFileNames(string directoryPath){//如果目录不存在,则抛出异常if (!IsExistDirectory(directoryPath)){throw new FileNotFoundException();}//获取文件列表return Directory.GetFiles(directoryPath);}#endregion#region 获取指定目录中所有子目录列表,若要搜索嵌套的子目录列表,请使用重载方法./// <summary>/// 获取指定目录中所有子目录列表,若要搜索嵌套的子目录列表,请使用重载方法./// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>        public static string[] GetDirectories(string directoryPath){try{return Directory.GetDirectories(directoryPath);}catch (IOException ex){throw ex;}}#endregion#region 获取指定目录及子目录中所有文件列表/// <summary>/// 获取指定目录及子目录中所有文件列表/// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>/// <param name="searchPattern">模式字符串,"*"代表0或N个字符,"?"代表1个字符。/// 范例:"Log*.xml"表示搜索所有以Log开头的Xml文件。</param>/// <param name="isSearchChild">是否搜索子目录</param>public static string[] GetFileNames(string directoryPath, string searchPattern, bool isSearchChild){//如果目录不存在,则抛出异常if (!IsExistDirectory(directoryPath)){throw new FileNotFoundException();}try{if (isSearchChild){return Directory.GetFiles(directoryPath, searchPattern, SearchOption.AllDirectories);}else{return Directory.GetFiles(directoryPath, searchPattern, SearchOption.TopDirectoryOnly);}}catch (IOException ex){throw ex;}}#endregion#region 检测指定目录是否为空/// <summary>/// 检测指定目录是否为空/// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>        public static bool IsEmptyDirectory(string directoryPath){try{//判断是否存在文件string[] fileNames = GetFileNames(directoryPath);if (fileNames.Length > 0){return false;}//判断是否存在文件夹string[] directoryNames = GetDirectories(directoryPath);if (directoryNames.Length > 0){return false;}return true;}catch{//这里记录日志//LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);return true;}}#endregion#region 检测指定目录中是否存在指定的文件/// <summary>/// 检测指定目录中是否存在指定的文件,若要搜索子目录请使用重载方法./// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>/// <param name="searchPattern">模式字符串,"*"代表0或N个字符,"?"代表1个字符。/// 范例:"Log*.xml"表示搜索所有以Log开头的Xml文件。</param>        public static bool Contains(string directoryPath, string searchPattern){try{//获取指定的文件列表string[] fileNames = GetFileNames(directoryPath, searchPattern, false);//判断指定文件是否存在if (fileNames.Length == 0){return false;}else{return true;}}catch (Exception ex){throw new Exception(ex.Message);//LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);}}/// <summary>/// 检测指定目录中是否存在指定的文件/// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>/// <param name="searchPattern">模式字符串,"*"代表0或N个字符,"?"代表1个字符。/// 范例:"Log*.xml"表示搜索所有以Log开头的Xml文件。</param> /// <param name="isSearchChild">是否搜索子目录</param>public static bool Contains(string directoryPath, string searchPattern, bool isSearchChild){try{//获取指定的文件列表string[] fileNames = GetFileNames(directoryPath, searchPattern, true);//判断指定文件是否存在if (fileNames.Length == 0){return false;}else{return true;}}catch (Exception ex){throw new Exception(ex.Message);//LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);}}#endregion#region 创建目录/// <summary>/// 创建目录/// </summary>/// <param name="dir">要创建的目录路径包括目录名</param>public static void CreateDir(string dir){if (dir.Length == 0) return;if (!Directory.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir))Directory.CreateDirectory(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir);}#endregion#region 删除目录/// <summary>/// 删除目录/// </summary>/// <param name="dir">要删除的目录路径和名称</param>public static void DeleteDir(string dir){if (dir.Length == 0) return;if (Directory.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir))Directory.Delete(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir);}#endregion#region 删除文件/// <summary>/// 删除文件/// </summary>/// <param name="file">要删除的文件路径和名称</param>public static void DeleteFile(string file){if (File.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + file))File.Delete(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + file);}#endregion#region 创建文件/// <summary>/// 创建文件/// </summary>/// <param name="dir">带后缀的文件名</param>/// <param name="pagestr">文件内容</param>public static void CreateFile(string dir, string pagestr){dir = dir.Replace("/", "\\");if (dir.IndexOf("\\") > -1)CreateDir(dir.Substring(0, dir.LastIndexOf("\\")));System.IO.StreamWriter sw = new System.IO.StreamWriter(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir, false, System.Text.Encoding.GetEncoding("GB2312"));sw.Write(pagestr);sw.Close();}#endregion#region 移动文件(剪贴--粘贴)/// <summary>/// 移动文件(剪贴--粘贴)/// </summary>/// <param name="dir1">要移动的文件的路径及全名(包括后缀)</param>/// <param name="dir2">文件移动到新的位置,并指定新的文件名</param>public static void MoveFile(string dir1, string dir2){dir1 = dir1.Replace("/", "\\");dir2 = dir2.Replace("/", "\\");if (File.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir1))File.Move(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir1, System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir2);}#endregion#region 复制文件/// <summary>/// 复制文件/// </summary>/// <param name="dir1">要复制的文件的路径已经全名(包括后缀)</param>/// <param name="dir2">目标位置,并指定新的文件名</param>public static void CopyFile(string dir1, string dir2){dir1 = dir1.Replace("/", "\\");dir2 = dir2.Replace("/", "\\");if (File.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir1)){File.Copy(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir1, System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + dir2, true);}}#endregion#region 根据时间得到目录名 / 格式:yyyyMMdd 或者 HHmmssff/// <summary>/// 根据时间得到目录名yyyyMMdd/// </summary>/// <returns></returns>public static string GetDateDir(){return DateTime.Now.ToString("yyyyMMdd");}/// <summary>/// 根据时间得到文件名HHmmssff/// </summary>/// <returns></returns>public static string GetDateFile(){return DateTime.Now.ToString("HHmmssff");}#endregion#region 复制文件夹/// <summary>/// 复制文件夹(递归)/// </summary>/// <param name="varFromDirectory">源文件夹路径</param>/// <param name="varToDirectory">目标文件夹路径</param>public static void CopyFolder(string varFromDirectory, string varToDirectory){Directory.CreateDirectory(varToDirectory);if (!Directory.Exists(varFromDirectory)) return;string[] directories = Directory.GetDirectories(varFromDirectory);if (directories.Length > 0){foreach (string d in directories){CopyFolder(d, varToDirectory + d.Substring(d.LastIndexOf("\\")));}}string[] files = Directory.GetFiles(varFromDirectory);if (files.Length > 0){foreach (string s in files){File.Copy(s, varToDirectory + s.Substring(s.LastIndexOf("\\")), true);}}}#endregion#region 检查文件,如果文件不存在则创建/// <summary>/// 检查文件,如果文件不存在则创建  /// </summary>/// <param name="FilePath">路径,包括文件名</param>public static void ExistsFile(string FilePath){//if(!File.Exists(FilePath))    //File.Create(FilePath);    //以上写法会报错,详细解释请看下文.........   if (!File.Exists(FilePath)){FileStream fs = File.Create(FilePath);fs.Close();}}#endregion#region 删除指定文件夹对应其他文件夹里的文件/// <summary>/// 删除指定文件夹对应其他文件夹里的文件/// </summary>/// <param name="varFromDirectory">指定文件夹路径</param>/// <param name="varToDirectory">对应其他文件夹路径</param>public static void DeleteFolderFiles(string varFromDirectory, string varToDirectory){Directory.CreateDirectory(varToDirectory);if (!Directory.Exists(varFromDirectory)) return;string[] directories = Directory.GetDirectories(varFromDirectory);if (directories.Length > 0){foreach (string d in directories){DeleteFolderFiles(d, varToDirectory + d.Substring(d.LastIndexOf("\\")));}}string[] files = Directory.GetFiles(varFromDirectory);if (files.Length > 0){foreach (string s in files){File.Delete(varToDirectory + s.Substring(s.LastIndexOf("\\")));}}}#endregion#region 从文件的绝对路径中获取文件名( 包含扩展名 )/// <summary>/// 从文件的绝对路径中获取文件名( 包含扩展名 )/// </summary>/// <param name="filePath">文件的绝对路径</param>        public static string GetFileName(string filePath){//获取文件的名称FileInfo fi = new FileInfo(filePath);return fi.Name;}#endregion/// <summary>/// 复制文件参考方法,页面中引用/// </summary>/// <param name="cDir">新路径</param>/// <param name="TempId">模板引擎替换编号</param>public static void CopyFiles(string cDir, string TempId){//if (Directory.Exists(Request.PhysicalApplicationPath + "\\Controls"))//{//    string TempStr = string.Empty;//    StreamWriter sw;//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\Default.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\Default.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\Default.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\Column.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\Column.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\List.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\Content.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\Content.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\View.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\MoreDiss.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\MoreDiss.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\DissList.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\ShowDiss.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\ShowDiss.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\Diss.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\Review.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\Review.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\Review.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//    if (File.Exists(Request.PhysicalApplicationPath + "\\Controls\\Search.aspx"))//    {//        TempStr = File.ReadAllText(Request.PhysicalApplicationPath + "\\Controls\\Search.aspx");//        TempStr = TempStr.Replace("{$ChannelId$}", TempId);//        sw = new StreamWriter(Request.PhysicalApplicationPath + "\\" + cDir + "\\Search.aspx", false, System.Text.Encoding.GetEncoding("GB2312"));//        sw.Write(TempStr);//        sw.Close();//    }//}}#region 创建一个目录/// <summary>/// 创建一个目录/// </summary>/// <param name="directoryPath">目录的绝对路径</param>public static void CreateDirectory(string directoryPath){//如果目录不存在则创建该目录if (!IsExistDirectory(directoryPath)){Directory.CreateDirectory(directoryPath);}}#endregion#region 创建一个文件/// <summary>/// 创建一个文件。/// </summary>/// <param name="filePath">文件的绝对路径</param>public static void CreateFile(string filePath){try{//如果文件不存在则创建该文件if (!IsExistFile(filePath)){//创建一个FileInfo对象FileInfo file = new FileInfo(filePath);//创建文件FileStream fs = file.Create();//关闭文件流fs.Close();}}catch (Exception ex){//LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);throw ex;}}/// <summary>/// 创建一个文件,并将字节流写入文件。/// </summary>/// <param name="filePath">文件的绝对路径</param>/// <param name="buffer">二进制流数据</param>public static void CreateFile(string filePath, byte[] buffer){try{//如果文件不存在则创建该文件if (!IsExistFile(filePath)){//创建一个FileInfo对象FileInfo file = new FileInfo(filePath);//创建文件FileStream fs = file.Create();//写入二进制流fs.Write(buffer, 0, buffer.Length);//关闭文件流fs.Close();}}catch (Exception ex){//LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);throw ex;}}#endregion#region 获取文本文件的行数/// <summary>/// 获取文本文件的行数/// </summary>/// <param name="filePath">文件的绝对路径</param>        public static int GetLineCount(string filePath){//将文本文件的各行读到一个字符串数组中string[] rows = File.ReadAllLines(filePath);//返回行数return rows.Length;}#endregion#region 获取一个文件的长度/// <summary>/// 获取一个文件的长度,单位为Byte/// </summary>/// <param name="filePath">文件的绝对路径</param>        public static int GetFileSize(string filePath){//创建一个文件对象FileInfo fi = new FileInfo(filePath);//获取文件的大小return (int)fi.Length;}#endregion#region 获取指定目录中的子目录列表/// <summary>/// 获取指定目录及子目录中所有子目录列表/// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>/// <param name="searchPattern">模式字符串,"*"代表0或N个字符,"?"代表1个字符。/// 范例:"Log*.xml"表示搜索所有以Log开头的Xml文件。</param>/// <param name="isSearchChild">是否搜索子目录</param>public static string[] GetDirectories(string directoryPath, string searchPattern, bool isSearchChild){try{if (isSearchChild){return Directory.GetDirectories(directoryPath, searchPattern, SearchOption.AllDirectories);}else{return Directory.GetDirectories(directoryPath, searchPattern, SearchOption.TopDirectoryOnly);}}catch (IOException ex){throw ex;}}#endregion#region 向文本文件写入内容/// <summary>/// 向文本文件中写入内容/// </summary>/// <param name="filePath">文件的绝对路径</param>/// <param name="text">写入的内容</param>/// <param name="encoding">编码</param>public static void WriteText(string filePath, string text, Encoding encoding){//向文件写入内容File.WriteAllText(filePath, text, encoding);}#endregion#region 向文本文件的尾部追加内容/// <summary>/// 向文本文件的尾部追加内容/// </summary>/// <param name="filePath">文件的绝对路径</param>/// <param name="content">写入的内容</param>public static void AppendText(string filePath, string content){File.AppendAllText(filePath, content);}#endregion#region 将现有文件的内容复制到新文件中/// <summary>/// 将源文件的内容复制到目标文件中/// </summary>/// <param name="sourceFilePath">源文件的绝对路径</param>/// <param name="destFilePath">目标文件的绝对路径</param>public static void Copy(string sourceFilePath, string destFilePath){File.Copy(sourceFilePath, destFilePath, true);}#endregion#region 将文件移动到指定目录/// <summary>/// 将文件移动到指定目录/// </summary>/// <param name="sourceFilePath">需要移动的源文件的绝对路径</param>/// <param name="descDirectoryPath">移动到的目录的绝对路径</param>public static void Move(string sourceFilePath, string descDirectoryPath){//获取源文件的名称string sourceFileName = GetFileName(sourceFilePath);if (IsExistDirectory(descDirectoryPath)){//如果目标中存在同名文件,则删除if (IsExistFile(descDirectoryPath + "\\" + sourceFileName)){DeleteFile(descDirectoryPath + "\\" + sourceFileName);}//将文件移动到指定目录File.Move(sourceFilePath, descDirectoryPath + "\\" + sourceFileName);}}#endregion#region 从文件的绝对路径中获取文件名( 不包含扩展名 )/// <summary>/// 从文件的绝对路径中获取文件名( 不包含扩展名 )/// </summary>/// <param name="filePath">文件的绝对路径</param>        public static string GetFileNameNoExtension(string filePath){//获取文件的名称FileInfo fi = new FileInfo(filePath);return fi.Name.Split('.')[0];}#endregion#region 从文件的绝对路径中获取扩展名/// <summary>/// 从文件的绝对路径中获取扩展名/// </summary>/// <param name="filePath">文件的绝对路径</param>        public static string GetExtension(string filePath){//获取文件的名称FileInfo fi = new FileInfo(filePath);return fi.Extension;}#endregion#region 清空指定目录/// <summary>/// 清空指定目录下所有文件及子目录,但该目录依然保存./// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>public static void ClearDirectory(string directoryPath){if (IsExistDirectory(directoryPath)){//删除目录中所有的文件string[] fileNames = GetFileNames(directoryPath);for (int i = 0; i < fileNames.Length; i++){DeleteFile(fileNames);}//删除目录中所有的子目录string[] directoryNames = GetDirectories(directoryPath);for (int i = 0; i < directoryNames.Length; i++){DeleteDirectory(directoryNames);}}}#endregion#region 清空文件内容/// <summary>/// 清空文件内容/// </summary>/// <param name="filePath">文件的绝对路径</param>public static void ClearFile(string filePath){//删除文件File.Delete(filePath);//重新创建该文件CreateFile(filePath);}#endregion#region 删除指定目录/// <summary>/// 删除指定目录及其所有子目录/// </summary>/// <param name="directoryPath">指定目录的绝对路径</param>public static void DeleteDirectory(string directoryPath){if (IsExistDirectory(directoryPath)){Directory.Delete(directoryPath, true);}}#endregion}
}

史上最完整的文件和目录操作类相关推荐

  1. c# 文件及目录操作类

    public static class FileHelper { #region 检测指定目录是否存在 /// <summary> /// 检测指定目录是否存在 /// </summ ...

  2. ML之FE:利用【数据分析+数据处理】算法对国内某平台上海2020年6月份房价数据集【12+1】进行特征工程处理(史上最完整,建议收藏)

    ML之FE:利用[数据分析+数据处理]算法对国内某平台上海2020年6月份房价数据集[12+1]进行特征工程处理(史上最完整,建议收藏) 目录 利用[数据分析+数据处理]算法对链家房价数据集[12+1 ...

  3. 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用--目录和文件管理命令--收藏这一篇就够了!(超全,超详细) Linux目录结构 命令 查看文件内容:-cat 查看文件内容:-more 查看文件内容:-less 查看文件内容 ...

  4. 史上最完整的5G NR介绍

    史上最完整的5G NR介绍 目录 史上最完整的5G NR介绍 5G部署选项 5G NR频谱 5G NR物理层 5G部署选项 一说到"部署选项"这事,说实话,我觉得自己有点" ...

  5. poi操作ppt图表史上最完整示例演示

    poi操作ppt图表史上最完整示例演示和内嵌excel的获取添加数据简单示例 ,POI3.15版本. 在模板中构造几中基本图表进行测试就行了. 完整下载地址:http://download.csdn. ...

  6. 史上最快的文件复制软件FastCopy

    大家每天几乎都会在磁盘间相互拷贝文件的,通常情况下都是利用Windows自带的复制粘贴功能来实现.这样做在数据量较小的情况下倒也没什么问题,但是数据量较大时,如电影.游戏等数GB的大文件的复制,特别是 ...

  7. 史上最完整交互设计基本原则|推荐收藏

    史上最完整交互设计基本原则|推荐收藏 人人都是产品经理 •  2 小时前 摘要:如何设计出具有优秀用户体验的产品是交互设计师始终面临的一道难题,"好的产品设计一定是建立在对用户需求的深刻理解 ...

  8. 史上最完整的MySQL注入 1

    作者:Passerby2 原文来自:史上最完整的MySQL注入 免责声明:本教程仅用于教育目的,以保护您自己的SQL注释代码. 在阅读本教程后,您必须对任何行动承担全部责任. 0x00 ~ 背景 这篇 ...

  9. 终于把单点登录完整流程图画明白了!史上最完整的CAS单点登录完整图解!

    CAS单点登录 本人也是初次接触CAS,有问题还请指正. 什么是单点登录 比如说百度,在浏览器中登录百度贴吧之后,百度的其他网站也同步登录了:退出百度贴吧之后,百度的其他网站也同步退出了. 简单来说就 ...

最新文章

  1. mysql $lt_MongoDB与Mysql常用命令解释
  2. shell实行mysql语句_【Mysql】shell运行mysql的sql语句_MySQL
  3. 美团第一位前端工程师竟是转行程序员!关于他的10年技术生涯
  4. Dataset:数据集集合(NLP方向数据集)——常见的自然语言处理数据集大集合(建议收藏,持续更新)
  5. 系统重装后 Endnote 不能和Word联用的解决方法
  6. hystrix熔断 简介_Hystrix简介
  7. 1-3移动均线交叉策略2
  8. 【详谈 Delta Lake 】系列技术专题 之 湖仓一体( Lakehouse )
  9. 使用 Docker Stack 部署多服务集群
  10. 2014年第一季度总结报告
  11. 春节临近|传统彩色手绘年画素材,满满东方韵味
  12. 如何用python中的turtle库画三角形_Python如何使用turtle库绘制图形
  13. 思考XSS攻击和跨站伪造请求CSRF
  14. 哇嘎显示等待无服务器,vagaa 哇嘎搜索不了资源怎么破?vagaa 哇嘎无法搜索的原因分析和解决方法介绍...
  15. linux数据库能看到系统执行了哪些命令,Linux-Mysql常用命令(上)
  16. 互联网思维之社会化思维
  17. VS2017中自用部分插件的设置的翻译或功能介绍—— Viasfora设置(一)
  18. Oracle 状告 Google 侵犯专利
  19. linux建立u盘引导分区表,创建Linux之USB启动盘
  20. android高德:定位蓝点定位到非洲问题

热门文章

  1. 快递打印云服务器_企业微信支持寄快递查快递,实现员工寄件自由
  2. RocketMQ源码:NameSrv启动全过程详解
  3. Elasticsearch from、scroll、search_after 分页查询对比
  4. 使用shell脚本完成自动化部署jar包
  5. php errno 28,php7.28 编译出错 一直通不过去
  6. linux进程被中断打断,linux – 当中断处理程序被另一个中断中断时,中断上下文如何“恢复”?...
  7. mysql jdbc无法连接_jdbc无法连接mysql
  8. int linux 原子操作_linux 原子操作
  9. thinkphp5 图片压缩旋转_PPT图片超多,如何让排版更精致?
  10. ubuntu下载搜狗输入法并设置开机自启动