当前位置:  编程技术>.net/c#/asp.net

一个C#实现的目录与文件操作类

    来源: 互联网  发布时间:2014-08-30

    本文导语:  代码如下:   代码示例: using System;  using System.Data;  using System.Configuration;  using System.Web;  using System.Web.Security;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Web.UI.WebControls.WebParts;  using System.Web.UI.HtmlContro...

代码如下:
 

代码示例:
using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.IO; 
using System.Text; 
using System.Drawing; 
using System.Drawing.Drawing2D; 
using System.Drawing.Imaging; 
     
///  
/// 文件操作类 
///  
public static class FileCom 

  //普通文件或图片上传 
  #region 文件名命名 和 文件类别验证 
  ///  
  /// 产生随即文件名 
  ///  
  ///  
  public static int GetRandomFileName() 
  { 
  byte[] bytes = new byte[10]; 
  System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); 
  rng.GetBytes(bytes); 
  return BitConverter.ToInt32(bytes, 0); 
  } 
  ///  
  /// 产生随机文件名 
  ///  
  /// 随机文件名长度 
  /// 产生随机文件名 
  private static string GetRandomFileName(int length) 
  { 
  string ch = "abcdefghijklmnopqrstuvwxyz0123456789"; 
  string strRandomFileName = string.Empty; 
  int intLength = ch.Length; 
  Random rd = new Random(); 
  for (int i = 0; i < length; i++) 
  { 
      strRandomFileName += ch[rd.Next(intLength)]; 
  } 
  return strRandomFileName; 
  } 
  ///  
  /// 产生唯一文件名 
  ///  
  /// 文件夹路径 
  /// 扩展名 
  /// 文件名 
  public static string GetOnlyFileName(string strPath, string strExt) 
  { 
  // 若文件夹不存在, 创建文件夹 
  if (!System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(strPath))) 
  { 
      System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(strPath)); 
  } 
  string strTempFileName = string.Empty; 
  string strTempFullName = string.Empty; 
  // 循环方式取唯一文件名 
  while (true) 
  { 
      strTempFileName = GetRandomFileName(15); 
      strTempFullName = strPath + strTempFileName + "." + strExt; 
      if (!System.IO.File.Exists(strTempFullName)) 
      { 
break; 
      } 
  } 
  return strTempFileName + "." + strExt; 
  } 
  ///  
  /// 文件名是否图片文件 
  ///  
  /// 文件名 
  /// 是否图片文件 
  public static bool IsImageExt(string filename) 
  { 
  if (filename == null || filename == string.Empty) 
      return false; 
  //string[] extArray = { ".gif", ".jpg", ".jpeg", ".bmp", ".png" }; 
  //string[] extArray = {".jpg", ".jpeg"}; 
  string[] extArray = { ".gif", ".jpg", ".jpeg", ".png" }; 
  foreach (string ext in extArray) 
  { 
      if (filename.ToLower().EndsWith(ext)) 
return true; 
  } 
  return false; 
  } 
  ///  
  /// 文件名是否图片文件或flash文件 
  ///  
  /// 文件名 
  /// 是否图片文件 
  public static bool IsImageOrFlashExt(string filename) 
  { 
  if (filename == null || filename == string.Empty) 
      return false; 
  string[] extArray = { ".gif", ".jpg", ".jpeg", ".bmp", ".png", ".swf" }; 
  foreach (string ext in extArray) 
  { 
      if (filename.ToLower().EndsWith(ext)) 
return true; 
  } 
  return false; 
  } 
  #endregion 
  #region 文件夹或文件创建 删除操作/图片 文件上传类 
  ///  
  /// .net自带IO方法创建文件夹(注意权限问题) 
  ///  
  /// 建立文件夹相对路径 
  /// true:建立成功 false:此文件夹名已存在 
  public static void IOCreateFolder(string folderpath) 
  { 
  if (!System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(folderpath))) 
  { 
      System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(folderpath)); 
  } 
  } 
  ///  
  /// 删除一个文件夹下所有文件和文件夹 
  ///  
  ///  
  public static void DelFolderandFiles(string folderpath) 
  { 
  if (System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(folderpath))) 
  { 
      System.IO.DirectoryInfo spath = new System.IO.DirectoryInfo(HttpContext.Current.Server.MapPath(folderpath)); 
      foreach (System.IO.DirectoryInfo folder in spath.GetDirectories()) 
      { 
folder.Delete(); 
      } 
      foreach (System.IO.FileInfo file in spath.GetFiles()) 
      { 
file.Delete(); 
      } 
  } 
  } 
  ///  
  /// 单个文件夹删除类 
  ///  
  ///  
  public static void DelFolder(string folderpath) 
  { 
  if (System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(folderpath))) 
  { 
      System.IO.Directory.Delete(HttpContext.Current.Server.MapPath(folderpath)); 
  } 
  } 
  ///  
  /// 单个文件删除类 
  ///  
  /// 文件相对路径 
  public static void DelFile(string filePath) 
  { 
  if (System.IO.File.Exists(HttpContext.Current.Server.MapPath(filePath))) 
  { 
      System.IO.File.Delete(HttpContext.Current.Server.MapPath(filePath)); 
  } 
  } 
  ///  
  /// 普通图片上传类 
  ///  
  /// 图片文件名(可返回) 
  /// 上传控件名 
  /// 原始图片地址 
  /// 图片存放路径 
  /// 图片限制大小的值 
  /// true:文件上传成功!false:图片类型错误或大小超过限制大小值 
  public static bool UpLoadImg(ref string fileName, System.Web.UI.WebControls.FileUpload file, string oldpic, string filePath, int size) 
  { 
  fileName = file.PostedFile.FileName; 
  fileName = System.DateTime.Now.ToString("yyMMddhhmmss") + fileName.Substring(fileName.LastIndexOf(".")); 
  string type = fileName.Substring(fileName.LastIndexOf(".") + 1); 
  if (IsImageExt(fileName) && file.PostedFile.ContentLength < size && file.PostedFile.ContentLength > 0) 
  { 
      DelFile(filePath + "//" + oldpic); 
      file.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(filePath + "//" + fileName)); 
      return true; 
  } 
  else 
  { 
      return false; 
  } 
  } 
  ///  
  /// 普通图片和Flash上传类 
  ///  
  /// 图片文件名(可返回) 
  /// 上传控件名 
  /// 原始图片地址 
  /// 图片存放路径 
  /// 图片限制大小的值 
  /// true:文件上传成功!false:图片类型错误或大小超过限制大小值 
  public static bool UpLoadImgAndFlash(ref string fileName, System.Web.UI.WebControls.FileUpload file, string oldpic, string filePath, int size) 
  { 
  fileName = file.PostedFile.FileName; 
  fileName = System.DateTime.Now.ToString("yyMMddhhmmss") + fileName.Substring(fileName.LastIndexOf(".")); 
  string type = fileName.Substring(fileName.LastIndexOf(".") + 1); 
  if (IsImageOrFlashExt(fileName) && file.PostedFile.ContentLength < size && file.PostedFile.ContentLength > 0) 
  { 
      DelFile(filePath + "//" + oldpic); 
      file.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(filePath + "//" + fileName)); 
      return true; 
  } 
  else 
  { 
      return false; 
  } 
  } 
  ///  
  /// 检测文件真实类型 
  ///  
  /// FileUpload控件对象 
  /// 是否是相关文件类型 
  /*文件扩展名说明
   *7173        gif 
   *255216      jpg
   *13780       png
   *6677        bmp
   *239187      txt,aspx,asp,sql
   *208207      xls.doc.ppt
   *6063        xml
   *6033        htm,html
   *4742        js
   *8075        xlsx,zip,pptx,mmap,zip
   *8297        rar   
   *01accdb,mdb
   *7790        exe,dll 
   *5666        psd 
   *255254      rdp 
   *10056       bt种子 
   *64101       bat 
   */ 
  private static bool IsAllowedExtension(HttpPostedFile hifile) 
  { 
  bool ret = false; 
  System.IO.FileStream fs = new System.IO.FileStream(hifile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); 
  System.IO.BinaryReader r = new System.IO.BinaryReader(fs); 
  string fileclass = ""; 
  byte buffer; 
  try 
  { 
      buffer = r.ReadByte(); 
      fileclass = buffer.ToString(); 
      buffer = r.ReadByte(); 
      fileclass += buffer.ToString(); 
  } 
  catch 
  { 
      return false; 
  } 
  r.Close(); 
  fs.Close(); 
  String[] fileType = { "255216", "7173", "6677", "13780", "8297", "5549", "870", "87111", "8075" }; 
  for (int i = 0; i < fileType.Length; i++) 
  { 
      if (fileclass == fileType[i]) 
      { 
ret = true; 
break; 
      } 
  } 
  return ret; 
  } 
  ///  
  /// 任意文件上传类 
  ///  
  /// 图片文件名(可返回) 
  /// 上传控件名 
  /// 原始文件名 
  /// 存放路径 
  public static void UpLoadFile(ref string fileName, System.Web.UI.WebControls.FileUpload file, string oldfile, string filePath) 
  { 
  fileName = file.PostedFile.FileName; 
  fileName = System.DateTime.Now.ToString("yyMMddhhmmss") + fileName.Substring(fileName.LastIndexOf(".")); 
  DelFile(filePath + "//" + oldfile); 
  file.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(filePath + "//" + fileName)); 
  } 
  #endregion 
  //#region 验证上传附件扩展名 
  /////  
  ///// 验证上传附件扩展名 
  /////   www.
  ///// FileUpload控件 
  ///// true表示允许,false不允许 
  //public static bool ValidExt(System.Web.UI.WebControls.FileUpload file) 
  //{ 
  //    BLL.m_config bconfig = new BLL.m_config(); 
  //    Model.m_config mconfig = bconfig.GetModel("ValidExt"); 
  //    string[] strValiddExt = mconfig.config_value.Split('|'); 
  //    bool flag = false; 
  //    foreach (string ext in strValiddExt) 
  //    { 
  //        if (ext == file.FileName.Substring(file.FileName.LastIndexOf('.') + 1).ToLower()) 
  //  flag = true; 
  //    } 
  //    return flag; 
  //} 
  //#endregion 
  ///  
  /// 会产生graphics异常的PixelFormat 
  ///  
  private static PixelFormat[] indexedPixelFormats = { PixelFormat.Undefined, PixelFormat.DontCare, 
    PixelFormat.Format16bppArgb1555, PixelFormat.Format1bppIndexed, PixelFormat.Format4bppIndexed, 
    PixelFormat.Format8bppIndexed 
        }; 
  ///  
  /// 判断图片的PixelFormat 是否在 引发异常的 PixelFormat 之中 
  ///  
  /// 原图片的PixelFormat 
  ///  
  private static bool IsPixelFormatIndexed(PixelFormat imgPixelFormat) 
  { 
  foreach (PixelFormat pf in indexedPixelFormats) 
  { 
      if (pf.Equals(imgPixelFormat)) return true; 
  } 
  return false; 
  } 
  ///  
  /// 添加图片水印 
  ///  
  /// 企业ID 
  /// 原始图片路径 
  public static string AddWaterMark(string filename, int CmyID, string UpLoadPath) 
  { 
  string newfilename = string.Empty; 
  SanRenCMS.BLL.WaterMarkConfig bwmc = new SanRenCMS.BLL.WaterMarkConfig(); 
  SanRenCMS.Model.WaterMarkConfig mwmc = bwmc.GetModel("CmyID=" + CmyID.ToString()); 
  switch (mwmc.WaterMarkType) 
  { 
      case 1: 
newfilename = LetterWaterMark(filename, mwmc, UpLoadPath); 
break; 
      case 2: 
newfilename = PicWaterMark(filename, mwmc, UpLoadPath); 
break; 
  } 
  return newfilename; 
  } 
  ///  
  /// 图片水印上传 
  ///  
  /// 上传控件 
  ///  
  ///  
  ///  
  public static string PicWaterMark(string filename, SanRenCMS.Model.WaterMarkConfig mwmc, string UpLoadPicPath) 
  { 
  string newfilename = string.Empty; 
  string MarkHWStr = mwmc.WaterMarkSize; //"50|186";//图片水印的高宽 
  string[] MyWaterMarkHW = MarkHWStr.Split(new char[] { '|' }); 
  string WaterMarkPath = HttpContext.Current.Server.MapPath(mwmc.WaterMarkPhoto); 
  string PicPath = HttpContext.Current.Server.MapPath(UpLoadPicPath) + "//" + filename; 
  newfilename = Guid.NewGuid().ToString() + ".jpg"; 
  string NewPicPath = HttpContext.Current.Server.MapPath(UpLoadPicPath) + "//" + newfilename; 
  int WaterMarkH = int.Parse(MyWaterMarkHW[0]); 
  int WaterMarkW = int.Parse(MyWaterMarkHW[1]); 
  int WaterMarkLight = 80;// 50;//透明度 
  int WaterMarkPos = mwmc.WaterMarkPosition; //3;//水印图位置(1左上,2右上,3右下,4左下) 
     
  System.Drawing.Image image = System.Drawing.Image.FromFile(PicPath); 
  System.Drawing.Image copyImage = System.Drawing.Image.FromFile(WaterMarkPath); 
  float[][] numArray2 = new float[5][]; 
  float[] numArray3 = new float[5]; 
  numArray3[0] = 1f;  //www.
  numArray2[0] = numArray3; 
  float[] numArray4 = new float[5]; 
  numArray4[1] = 1f; 
  numArray2[1] = numArray4; 
  float[] numArray5 = new float[5]; 
  numArray5[2] = 1f; 
  numArray2[2] = numArray5; 
  float[] numArray6 = new float[5]; 
  numArray6[3] = ((float)WaterMarkLight) / 100f; 
  numArray2[3] = numArray6; 
  float[] numArray7 = new float[5]; 
  numArray7[4] = 1f; 
  numArray2[4] = numArray7; 
  float[][] newColorMatrix = numArray2; 
  ColorMatrix matrix = new ColorMatrix(newColorMatrix); 
  ImageAttributes imageAttr = new ImageAttributes(); 
  imageAttr.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); 
  Graphics g = null; 
  if (IsPixelFormatIndexed(image.PixelFormat)) 
  { 
      Bitmap bmp = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppArgb); 
      g = Graphics.FromImage(image); 
  } 
  else 
      g = Graphics.FromImage(image); 
  switch (WaterMarkPos) 
  { 
      case 1: 
g.DrawImage(copyImage, new Rectangle(0, 0, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
break; 
      case 2: 
g.DrawImage(copyImage, new Rectangle(0, image.Height - WaterMarkH, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
break; 
      case 3: 
g.DrawImage(copyImage, new Rectangle(image.Width - WaterMarkW, 0, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
break; 
      case 4: 
g.DrawImage(copyImage, new Rectangle(image.Width - WaterMarkW, image.Height - WaterMarkH, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
break; 
      case 5: 
g.DrawImage(copyImage, new Rectangle((image.Width - WaterMarkW) / 2, (image.Height - WaterMarkH) / 2, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
break; 
  } 
  g.Dispose(); 
  image.Save(NewPicPath); 
  image.Dispose(); 
  if (File.Exists(PicPath)) 
  { 
      File.Delete(PicPath); 
  } 
  return newfilename; 
  } 
  ///  
  /// 添加字体水印 
  ///  
  /// 企业ID 
  /// 要加水印图片的路径 
  ///  
  public static string LetterWaterMark(string filename, SanRenCMS.Model.WaterMarkConfig mwmc, string UpLoadPicPath) 
  { 
  string newfilename = string.Empty; 
  Font f; 
  string PicPath = HttpContext.Current.Server.MapPath(UpLoadPicPath) + "//" + filename; 
  //HttpContext.Current.Response.Write(filename); 
  newfilename = Guid.NewGuid().ToString() + ".jpg"; 
  //DateTime.Now.ToString("yyMMddhhmmss") + ".jpg"; 
  string NewPicPath = HttpContext.Current.Server.MapPath(UpLoadPicPath) + "//" + newfilename; 
  //HttpContext.Current.Response.Write(NewPicPath); 
  string WaterMarkStr = mwmc.WaterMarkWord;//水印文字 
  int WaterMarkFontSize = mwmc.WaterMarkWorkSize; //文字大小,单位PX 
  string WaterMarkFontName = mwmc.WaterMarkFont;// "华文细黑";//字体 
  string WaterMarkFontColor = mwmc.WaterMarkWordColor;// "009999";//字体颜色 
  bool WaterMarkIsBold = mwmc.isStrong == 1 ? true : false;//是否加粗 
  int WaterMarkPos = mwmc.WaterMarkPosition;//水印位置 
  System.Drawing.Image image = System.Drawing.Image.FromFile(PicPath); 
  Graphics g = null; 
  if (IsPixelFormatIndexed(image.PixelFormat)) 
  { 
      Bitmap bmp = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppArgb); 
      g = Graphics.FromImage(image); 
  } 
  else 
      g = Graphics.FromImage(image); 
  g.CompositingQuality = CompositingQuality.HighQuality; 
  g.SmoothingMode = SmoothingMode.HighQuality; 
  g.InterpolationMode = InterpolationMode.HighQualityBicubic; 
  g.DrawImage(image, 0, 0, image.Width, image.Height); 
  if (WaterMarkIsBold) 
  { 
      f = new Font(WaterMarkFontName, (float)WaterMarkFontSize, FontStyle.Bold); 
  } 
  else 
  { 
      f = new Font(WaterMarkFontName, (float)WaterMarkFontSize); 
  } 
  Brush b = new SolidBrush(ColorTranslator.FromHtml("#" + WaterMarkFontColor)); 
  string addText = WaterMarkStr; 
  //switch (WaterMarkPos) 
  //{ 
  //    case 1: 
  //        g.DrawString(addText, f, b, (float)0f, (float)0f); 
  //        break; 
  //    case 2: 
  //        g.DrawString(addText, f, b, (float)0f, (float)0f); 
  //        break; 
  //    case 3: 
  //        g.DrawImage(copyImage, new Rectangle(image.Width - WaterMarkW, image.Height - WaterMarkH, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
  //        break; 
  //    case 4: 
  //        g.DrawImage(copyImage, new Rectangle(0, image.Height - WaterMarkH, WaterMarkW, WaterMarkH), 0, 0, WaterMarkW, WaterMarkH, GraphicsUnit.Pixel, imageAttr); 
  //        break; 
  //} 
  g.DrawString(addText, f, b, (float)(image.Width / 2), (float)(image.Height / 2)); 
  //g.DrawString(addText,f,b, 
  g.Dispose(); 
  try 
  { 
      //HttpContext.Current.Response.Write(NewPicPath); 
      image.Save(NewPicPath, ImageFormat.Jpeg); 
  } 
  catch (Exception exx) 
  { 
      HttpContext.Current.Response.Write(exx.ToString()); 
  } 
  finally 
  { 
      image.Dispose(); 
  } 
  if (File.Exists(PicPath)) 
  { 
      File.Delete(PicPath); 
  } 
  return newfilename; 
 } 

    
 
 

您可能感兴趣的文章:

  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • C#实现获取枚举中元素个数的方法
  • C#实现自定义双击事件
  • C#键盘输入回车键实现点击按钮效果的方法
  • C#实现获取一年中是第几个星期的方法
  • C#实现Datatable排序的方法
  • C#实现装箱与拆箱操作简单实例
  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
  • C#下实现创建和删除目录的实例代码
  • 使用C#实现在屏幕上画图效果的代码实例
  • C#实现过滤html标签并保留a标签的方法
  • c#实现TextBox只允许输入数字
  • C# Winform 整个窗口拖动的实现代码
  • c# ListView实现双击Item事件的变通方法
  • C#实现随鼠标移动窗体实例
  • C#中的FileUpload 选择后的预览效果具体实现
  • C# 窗体隐藏及任务管理器中禁止关闭的实现代码
  • C#的锯齿数组以及C++实现代码
  • C#格式化文件大小的实现代码
  • C#怎样才能实现窗体最小化到托盘呢?
  • C# char类型字符转换大小写的实现代码
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • 请问:如何让对多个现有的文件的写操作成为一个原子操作,并可以实现安全的回滚功能?
  • 在window 的操作系统里,应该有个软件可以实现,安装一个虚拟的linux操作系统
  • qt如何实现:操作键盘实现数据的滚动?
  • PHP实现的连贯操作、链式操作实例
  • Linux 下的C语言实现数据库连接池操作。
  • applet如何实现对数据库(access)的操作,征求设计方案。
  • 小弟有如下问题:JAVA中怎样实现对操作平台的句柄!谢谢了:)
  • 怎么实现对一个udp数据报分多次读的操作
  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • socket实现多文件并发传输,求助多线程实现问题?
  • c#通过委托delegate与Dictionary实现action选择器代码举例 iis7站长之家
  • 我想用APPLET实现读取客户端的图片文件,该如何实现?
  • Linux内存文件系统(ramdisk)的三种实现方式
  • linux下如实现与window下的驱动器实现文件共享??
  • 如何在其他盘中实现对这个盘中所有文件和文件的8映射
  • php实现文件下载简单示例(代码实现文件下载)
  • 如何用Java实现二进制文件到文本文件的相互转化?
  • 不让用户选择文件,程序指定本地文件,Java可以实现上传到服务器吗?
  • 急!如何编程实现pdf文件转html文件?
  • 问一个问题。请问如何在文件系统管理并使用设备,也就是当一个设备装载,下载时。文件系统是如何实现的
  • 请问如何实现将一个文件中的某一行拷贝到另一个文件中?答对定给分!
  • 请问在jsp中如何实现相对路径?我在jsp文件中指定相对路径的文件,可是程序找不到!
  • 实现core文件自动生成配置文件的方法
  • 用户通过mozilla访问页面文件,提交的参数要记录到系统的配置文件中去,如何来实现这个接口?
  • 如新建一个文件夹里面有a.txt b.txt 然后将这个文件夹删除。用一句来实现怎么写啊?
  • 求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
  • sftp实现两台主机之间传输文件(把一个主机中的文件拷贝到另一个)
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • interface 到底有什么用???实现接口,怎么实现??
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 怎么用Jsp实现在页面实现树型结构?
  • 通过javascript库JQuery实现页面跳转功能代码
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现
  • flash AS3反射实现(describeType和getDefinitionByName)
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3