学习.NET有一些时间了,平日积累了一些自己认为比较实用的方法(有自己写的,也有学习别人的),可能会在不同的项目开发中使用到。分享给大家,有什么好的方法还会不断添加,个别方法你可能认为很菜,仅提供给新手。当然,实现功能的方法并不唯一,这里仅供大家参考。
将文件转换成字符串,常用于读取网站模板
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///将文件转换成字符串,常用于读取网站模板
///</summary>
///<paramname="path"></param>
///<paramname="isSpace"></param>
///<returns></returns>
publicstaticstringGetTempleContent(stringpath)
{
stringresult=string.Empty;
stringsFileName=HttpContext.Current.Server.MapPath(path);
if(File.Exists(sFileName))
{
try
{
using(StreamReadersr=newStreamReader(sFileName))
{
result=sr.ReadToEnd();
}
}
catch
{
result="读取模板文件("+path+")出错";
}
}
else
{
result="找不到模板文件:"+path;
}
returnresult;
}
读取,添加,修改xml文件
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///读取,添加,修改xml文件
///</summary>
///<paramname="Xmlpath">Xml路径</param>
///<paramname="Node">新的子节点名称</param>
///<paramname="Value">新节点对应的值</param>
///<paramname="flag">1:读取,否则为修改或者添加</param>
///<returns>1:修改添加成功,为空字符串表示修改添加成功,否则是读取成功</returns>
publicstaticstringgetXML(stringXmlpath,stringNode,stringValue,intflag)
{
try
{
stringfilepath=HttpContext.Current.Server.MapPath(Xmlpath);
XmlDocumentxmlDoc=newXmlDocument();
if(!File.Exists(filepath))
{
XmlDeclarationxn=xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
XmlElementroot=xmlDoc.CreateElement("rss");
XmlElementroot1=xmlDoc.CreateElement("item");
root.AppendChild(root1);
xmlDoc.AppendChild(xn);
xmlDoc.AppendChild(root);
xmlDoc.Save(filepath);//本地路径名字
}
xmlDoc.Load(filepath);//你的xml文件
stringReStr=string.Empty;
XmlElementxmlObj=xmlDoc.DocumentElement;
XmlNodeListxmlList=xmlDoc.SelectSingleNode(xmlObj.Name.ToString()).ChildNodes;
foreach(XmlNodexmlNoinxmlList)
{
if(xmlNo.NodeType!=XmlNodeType.Comment)//判断是不是注释类型
{
XmlElementxe=(XmlElement)xmlNo;
{
if(xe.Name==xmlObj.FirstChild.Name)
{
XmlNodeListxmlNList=xmlObj.FirstChild.ChildNodes;
foreach(XmlNodexmldinxmlNList)
{
XmlElementxe1=(XmlElement)xmld;
{
if(xe1.Name==Node)
{
if(flag==1)//读取值
{
if(xmld.InnerText!=null&&xmld.InnerText!="")
{
ReStr=xmld.InnerText;
}
}
else//修改值
{
xmld.InnerText=Value;//给节点赋值
xmlDoc.Save(filepath);
ReStr=Value.Trim();
}
}
}
}
if(ReStr==string.Empty)//添加节点
{
XmlNodenewNode;
newNode=xmlDoc.CreateNode("element",Node,Value);//创建节点
newNode.InnerText=Value;//给节点赋值
xe.AppendChild(newNode);//把节点添加到doc
xmlDoc.Save(filepath);
ReStr=Value.Trim();
}
}
}
}
}
returnReStr;
}
catch
{
returnstring.Empty;
}
}
取得文件扩展名
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///取得文件扩展名
///</summary>
///<paramname="filename">文件名</param>
///<returns>扩展名</returns>
publicstaticstringGetFileEXT(stringfilename)
{
if(string.IsNullOrEmpty(filename))
{
return"";
}
if(filename.IndexOf(@".")==-1)
{
return"";
}
intpos=-1;
if(!(filename.IndexOf(@"\")==-1))
{
pos=filename.LastIndexOf(@"\");
}
string[]s=filename.Substring(pos+1).Split('.');
returns[1];
}
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///替换文本中的空格和换行
///</summary>
publicstaticstringReplaceSpace(stringstr)
{
strings=str;
s=s.Replace(""," ");
s=s.Replace("\n","<BR/>");
returns;
}
验证码实现方法
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->protectedvoidPage_Load(objectsender,EventArgse)
{
stringcheckCode=CreateRandomCode(4);
Session["CheckCode"]=checkCode;
CreateImage(checkCode);
}
privatestringCreateRandomCode(intcodeCount)
{
//函数功能:产生数字和字符混合的随机字符串
stringallChar="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
char[]allCharArray=allChar.ToCharArray();
stringrandomCode="";
Randomrand=newRandom();
for(inti=0;i<codeCount;i++)
{
intr=rand.Next(61);
randomCode+=allCharArray.GetValue(r);
}
returnrandomCode;
}
privatevoidCreateImage(stringcheckCode)
{
//生成图象验证码函数
intiwidth=(int)(checkCode.Length*11.5);
System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap(iwidth,20);
Graphicsg=Graphics.FromImage(image);
Fontf=newSystem.Drawing.Font("Arial",10,System.Drawing.FontStyle.Bold);
Brushb=newSystem.Drawing.SolidBrush(Color.Azure);//字母白色
//g.FillRectangle(newSystem.Drawing.SolidBrush(Color.Blue),0,0,image.Width,image.Height);
g.Clear(Color.Brown);//背景灰色
g.DrawString(checkCode,f,b,3,3);
PenblackPen=newPen(Color.Black,0);
Randomrand=newRandom();
System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
Response.ClearContent();
Response.ContentType="image/Jpeg";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
image.Dispose();
}
文件创建、复制、移动、删除
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->FileStreamfs;
//创建文件
fs=File.Create(Server.MapPath("a.txt"));
fs.Close();
fs=File.Create(Server.MapPath("b.txt"));
fs.Close();
fs=File.Create(Server.MapPath("c.txt"));
fs.Close();
//复制文件
File.Copy(Server.MapPath("a.txt"),Server.MapPath("a\\a.txt"));
//移动文件
File.Move(Server.MapPath("b.txt"),Server.MapPath("a\\b.txt"));
File.Move(Server.MapPath("c.txt"),Server.MapPath("a\\c.txt"));
//删除文件
File.Delete(Server.MapPath("a.txt"));
去掉结尾,
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///去掉结尾,
///</summary>
///<paramname="input"></param>
///<returns></returns>
publicstaticstringLostDot(stringinput)
{
if(string.IsNullOrEmpty(input))
{
returnstring.Empty;
}
else
{
if(input.IndexOf(",")>-1)
{
intintLast=input.LastIndexOf(",");
if((intLast+1)==input.Length)
{
returninput.Remove(intLast);
}
else
{
returninput;
}
}
else
{
returninput;
}
}
}
生成任意位数的随机数
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///生成随机数
///</summary>
///<paramname="minValue">最小值</param>
///<paramname="maxValue">最大值</param>
///<returns></returns>
privateintgetRandom(intminValue,intmaxValue)
{
Randomri=newRandom(unchecked((int)DateTime.Now.Ticks));
intk=ri.Next(minValue,maxValue);
returnk;
}
//想定一个三位的随机数:stringThreeRandom=this.getRandom(100,999).Tostring();
//类似的,四位随机数:stringFourRandom=this.getRandom(1000,9999).Tostring();
实现文件的上传
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicclassUpload
{
privateSystem.Web.HttpPostedFilepostedFile=null;
privatestringsavePath="";
privatestringextension="";
privateintfileLength=0;
privatestringfilename="";
///<summary>
///上传组件
///</summary>
publicSystem.Web.HttpPostedFilePostedFile
{
get
{
returnpostedFile;
}
set
{
postedFile=value;
}
}
///<summary>
///保存路径
///</summary>
publicstringSavePath
{
get
{
if(savePath!="")returnsavePath;
return"c:\\";
}
set
{
savePath=value;
}
}
///<summary>
///文件大小
///</summary>
publicintFileLength
{
get
{
if(fileLength!=0)returnfileLength;
return1024;
}
set
{
fileLength=value*1024;
}
}
///<summary>
///文件护展名
///</summary>
publicstringExtension
{
get
{
if(extension!="")
returnextension;
return"txt";
}
set
{
extension=value;
}
}
///<summary>
///文件名
///</summary>
publicstringFileName
{
get
{
returnfilename;
}
set
{
filename=value;
}
}
publicstringPathToName(stringpath)
{
intpos=path.LastIndexOf(@"\");
returnpath.Substring(pos+1);
}
///<summary>
///上传文件
///</summary>
///<returns></returns>
publicstringUploadStart()
{
booltf=false;
stringreturnvalue="";
if(PostedFile!=null)
{
try
{
stringfileName=PathToName(PostedFile.FileName);
if(filename!="")
{
fileName=filename;
}
string_fileName="";
string[]Exten=Extension.Split(',');
if(Exten.Length==0)
{
returnvalue="你未设置上传文件类型,系统不允许进行下一步操作!";
}
else
{
for(inti=0;i<Exten.Length;i++)
{
if(fileName.ToLower().EndsWith(Exten[i].ToLower()))
{
if(PostedFile.ContentLength>FileLength)
{
returnvalue="上传文件限制大小:"+FileLength/1024+"kb!";
}
stringIsFileex=SavePath+@"\"+fileName;
if(!Directory.Exists(SavePath)){Directory.CreateDirectory(SavePath);}
PostedFile.SaveAs(IsFileex);
_fileName=fileName;
tf=true;
returnvalue=IsFileex;
}
}
if(tf==false)
returnvalue="只允许上传"+Extension+"文件!";
}
}
catch(System.Exceptionexc)
{
returnvalue=exc.Message;
}
}
else
{
returnvalue="上文件失败!";
}
returnreturnvalue;
}
}
判断输入是否为日期类型
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///判断输入是否为日期类型
///</summary>
///<paramname="s">待检查数据</param>
///<returns></returns>
publicstaticboolIsDate(strings)
{
if(s==null)
{
returnfalse;
}
else
{
try
{
DateTimed=DateTime.Parse(s);
returntrue;
}
catch
{
returnfalse;
}
}
}
MD5加密字符串处理
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->///<summary>
///MD5加密字符串处理
///</summary>
///<paramname="Half">加密是16位还是32位;如果为true为16位</param>
publicstaticstringMD5(stringInput,boolHalf)
{
stringoutput=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Input,"MD5").ToLower();
if(Half)output=output.Substring(8,16);
returnoutput;
}
publicstatic
本文分享了一系列.NET开发中实用的方法,包括文件操作、验证码生成、日期判断等,适用于不同项目的开发需求。
94万+

被折叠的 条评论
为什么被折叠?



