Base64加密解密

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 沃狐新浪博客推广系统
{
class Base64
{
/// <summary>
/// 将字符串使用base64算法加密
/// </summary>
/// <param name="code_type">编码类型(编码名称)
/// * 代码页 名称
/// * 1200 "UTF-16LE"、"utf-16"、"ucs-2"、"unicode"或"ISO-10646-UCS-2"
/// * 1201 "UTF-16BE"或"unicodeFFFE"
/// * 1252 "windows-1252"
/// * 65000 "utf-7"、"csUnicode11UTF7"、"unicode-1-1-utf-7"、"unicode-2-0-utf-7"、"x-unicode-1-1-utf-7"或"x-unicode-2-0-utf-7"
/// * 65001 "utf-8"、"unicode-1-1-utf-8"、"unicode-2-0-utf-8"、"x-unicode-1-1-utf-8"或"x-unicode-2-0-utf-8"
/// * 20127 "us-ascii"、"us"、"ascii"、"ANSI_X3.4-1968"、"ANSI_X3.4-1986"、"cp367"、"csASCII"、"IBM367"、"iso-ir-6"、"ISO646-US"或"ISO_646.irv:1991"
/// * 54936 "GB18030" /// </param> /// <param name="code">待加密的字符串</param>
/// <returns>加密后的字符串</returns>
public string EncodeBase64(string code_type, string code)
{
string encode = "";
byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);
//将一组字符编码为一个字节序列.
try
{
encode = Convert.ToBase64String(bytes);
//将8位无符号整数数组的子集转换为其等效的,以64为基的数字编码的字符串形式.
} catch
{
encode = code;
}
return encode;
}
/// <summary>
/// 将字符串使用base64算法解密
/// </summary>
/// <param name="code_type">编码类型</param>
/// <param name="code">已用base64算法加密的字符串</param>
/// <returns>解密后的字符串</returns>
public string DecodeBase64(string code_type, string code)
{
string decode = "";
byte[] bytes = Convert.FromBase64String(code); //将2进制编码转换为8位无符号整数数组.
try
{
decode = Encoding.GetEncoding(code_type).GetString(bytes); //将指定字节数组中的一个字节序列解码为一个字符串。
}
catch
{
decode = code;
}
return decode;
} }
}

BitmapRegion绘制图形控件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace 沃狐新浪博客推广系统
{
class BitmapRegion
{
public BitmapRegion()
{
} /// <summary>
/// Create and apply the region on the supplied control
/// </summary>
/// The Control object to apply the region to//
/// The Bitmap object to create the region from
public void CreateControlRegion(Control control, Bitmap bitmap)
{
// Return if control and bitmap are null
if (control == null || bitmap == null)
return; // Set our control's size to be the same as the bitmap
control.Width = bitmap.Width;
control.Height = bitmap.Height; // Check if we are dealing with Form here
if (control is System.Windows.Forms.Form)
{
// Cast to a Form object
Form form = (Form)control; // Set our form's size to be a little larger that the bitmap just
// in case the form's border style is not set to none in the first place
form.Width += ;
form.Height += ; // No border
form.FormBorderStyle = FormBorderStyle.None; // Set bitmap as the background image
form.BackgroundImage = bitmap; // Calculate the graphics path based on the bitmap supplied
GraphicsPath graphicsPath = CalculateControlGraphicsPath(bitmap); // Apply new region
form.Region = new Region(graphicsPath);
} // Check if we are dealing with Button here
else if (control is System.Windows.Forms.Button)
{
// Cast to a button object
Button button = (Button)control; // Do not show button text
button.Text = ""; // Change cursor to hand when over button
button.Cursor = Cursors.Hand; // Set background image of button
button.BackgroundImage = bitmap; // Calculate the graphics path based on the bitmap supplied
GraphicsPath graphicsPath = CalculateControlGraphicsPath(bitmap); // Apply new region
button.Region = new Region(graphicsPath);
}
} /// <summary>
/// Calculate the graphics path that representing the figure in the bitmap
/// excluding the transparent color which is the top left pixel.
/// </summary>
/// The Bitmap object to calculate our graphics path from
/// <returns>Calculated graphics path</returns>
private static GraphicsPath CalculateControlGraphicsPath(Bitmap bitmap)
{
// Create GraphicsPath for our bitmap calculation
GraphicsPath graphicsPath = new GraphicsPath(); // Use the top left pixel as our transparent color
Color colorTransparent = bitmap.GetPixel(, ); // This is to store the column value where an opaque pixel is first found.
// This value will determine where we start scanning for trailing opaque pixels.
int colOpaquePixel = ; // Go through all rows (Y axis)
for (int row = ; row < bitmap.Height; row++)
{
// Reset value
colOpaquePixel = ; // Go through all columns (X axis)
for (int col = ; col < bitmap.Width; col++)
{
// If this is an opaque pixel, mark it and search for anymore trailing behind
if (bitmap.GetPixel(col, row) != colorTransparent)
{
// Opaque pixel found, mark current position
colOpaquePixel = col; // Create another variable to set the current pixel position
int colNext = col; // Starting from current found opaque pixel, search for anymore opaque pixels
// trailing behind, until a transparent pixel is found or minimum width is reached
for (colNext = colOpaquePixel; colNext < bitmap.Width; colNext++)
if (bitmap.GetPixel(colNext, row) == colorTransparent)
break; // Form a rectangle for line of opaque pixels found and add it to our graphics path
graphicsPath.AddRectangle(new Rectangle(colOpaquePixel, row, colNext - colOpaquePixel, )); // No need to scan the line of opaque pixels just found
col = colNext;
}
}
} // Return calculated graphics path
return graphicsPath;
}
}
}

CatchUrls抓取网页url

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Net;
using System.IO;
using System.Collections;
using System.Text.RegularExpressions;
namespace 沃狐新浪博客推广系统
{
class CatchUrls
{
string strCode;
ArrayList alLinks;
// 获取指定网页的HTML代码
private string url = "";
public string URL
{
get
{
return url;
}
set
{
url = value;
}
}
public string htmlCode;
public string GetPageSource()
{
Uri uri = new Uri(URL);
// http:// blog.sina.com.cn/lm/oldrank/20120615/all.html
HttpWebRequest hwReq = (HttpWebRequest)WebRequest.Create(uri);
HttpWebResponse hwRes = (HttpWebResponse)hwReq.GetResponse();
hwReq.Method = "Get";
hwReq.KeepAlive = false;
StreamReader reader = new StreamReader(hwRes.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
return reader.ReadToEnd();
}
// 提取HTML代码中的网址
public ArrayList GetHyperLinks()
{
ArrayList al = new ArrayList();
string strRegex = @"http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
Regex r = new Regex(strRegex, RegexOptions.IgnoreCase);
MatchCollection m = r.Matches(htmlCode);
//progressBar1.Maximum = m.Count;
for (int i = ; i <= m.Count - ; i++)
{
bool rep = false;
string strNew = m[i].ToString();
// 过滤重复的URL
foreach (string str in al)
{
if (strNew == str)
{
rep = true;
break;
}
}
if (!rep)
{ if (strNew.IndexOf("blog.sina.com.cn/u") >= )
{
strNew = strNew.Replace("http://blog.sina.com.cn/u/", "");
al.Add(strNew.Trim());
}
}
}
al.Sort();//重新排序
return al;
}
//
static string GetURLContent(string url, string EncodingType)
{
string PetiResp = "";
Stream mystream;
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
req.AllowAutoRedirect = true;
System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse();
if (resp.StatusCode == System.Net.HttpStatusCode.OK)
{
mystream = resp.GetResponseStream();
System.Text.Encoding encode = System.Text.Encoding.GetEncoding(EncodingType);
StreamReader readStream = new StreamReader(mystream, encode);
char[] cCont = new char[];
int count = readStream.Read(cCont, , );
while (count > )
{
// Dumps the 256 characters on a string and displays the string to the console.
String str = new String(cCont, , count);
PetiResp += str;
count = readStream.Read(cCont, , );
}
resp.Close();
return PetiResp;
}
resp.Close();
return null;
}
// 获取网址的域名后缀
static string GetDomain(string strURL)
{
string retVal;
string strRegex = @"(\.com/|\.net/|\.cn/|\.org/|\.gov/|\.cn/)";
Regex r = new Regex(strRegex, RegexOptions.IgnoreCase);
Match m = r.Match(strURL);
retVal = m.ToString();
strRegex = @"\.|/$";
retVal = Regex.Replace(retVal, strRegex, "").ToString();
if (retVal == "")
retVal = "other";
return retVal;
}
//public string BaseURLs; }
}

CookieComputer提取post模拟登陆网站cookie.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Net;
using System.Web;
using System.IO;
using System.Collections;
namespace 沃狐新浪博客推广系统
{
class CookieComputer
{
#region 通过登录获取cookie信息参数
//登录链接
private static string url = "";
/// <summary>
/// 登录基URL,默认为空
/// </summary>
public static string Url
{
get
{
return url;
}
set
{
url = value;
}
}
//用户名 private static string username = "";
/// <summary>
/// 登录用户名,默认为空
/// </summary>
public static string Username
{
get
{
return username;
}
set
{
username = value;
}
}
//密码
private static string password = "";
/// <summary>
/// 登录密码,默认为空
/// </summary>
public static string Password
{
get
{
return password;
}
set
{
password = value;
}
} //表单需要提交的参数,注意改为你已注册的信息。
private static string postDate="";
/// <summary>
/// 表单需要提交的参数,注意改为你已注册的信息。
/// </summary>
public static string PostDate
{
get
{
return postDate;
}
set
{
postDate = value;
}
} #endregion //写成无参数方便线程调用
/// <summary>
/// 获取目标网站cookie
/// </summary>
/// <returns>CookieContainer</returns>
public static CookieContainer Get_SinaLogin()
{
//新建cookie容器
CookieContainer CookiC = new CookieContainer();
//处理表单的绝对URL地址
string FormURL = Url;
//表单需要提交的参数,注意改为你已注册的信息。
// "username=" + Username + "&password=" + Password;
string FormData = PostDate;
//设定编码格式
Encoding encoding = Encoding.UTF8;
//将编码转换成字节数组
byte[] data = encoding.GetBytes(FormData);
//创建HttpWebRequest请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(FormURL);
///<!--设定标头开始-->
//数据提交方式
request.Method = "POST";
//设定请求连接类型
request.ContentType = "application/x-www-form-urlencoded";
//设定请求内容长度
request.ContentLength = data.Length;
//声明了浏览器用于 HTTP 请求的用户代理头的值
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
///<!--设定标头结束-->
//返回请求数据流
Stream newStream = request.GetRequestStream();
//向当前流中写入字节序列
newStream.Write(data, , data.Length);
//关闭流
newStream.Close();
//获取或设置与此请求关联的 cookie。
request.CookieContainer = CookiC;
//返回来自 Internet 资源的响应。
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//将返回的cookie添加进cookie容器
CookiC.Add(response.Cookies);
//获取流,该流用于读取来自服务器的响应的体。
Stream stream = response.GetResponseStream();
//将流转换成指定编码格式字符串
string WebContent = new StreamReader(stream, System.Text.Encoding.UTF8).ReadToEnd();
//返回获取到的cookie
return CookiC;
}
/// <summary>
/// 获取目标网站cookie
/// </summary>
/// <returns>CookieContainer</returns>
public static CookieContainer Get_ssoSinaLogin()
{
//新建cookie容器
CookieContainer CookiC = new CookieContainer();
//处理表单的绝对URL地址
string FormURL = Url;
//表单需要提交的参数,注意改为你已注册的信息。
// "entry=blog&reg_entry=blog&reference=http://blog.sina.com.cn&door=&safe_login=1&username=" + Username + "&password=" + Password;
string FormData = PostDate;
//设定编码格式
Encoding encoding = Encoding.UTF8;
//将编码转换成字节数组
byte[] data = encoding.GetBytes(FormData);
//创建HttpWebRequest请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(FormURL);
///<!--设定标头开始-->
//数据提交方式
request.Method = "POST";
//设定请求连接类型
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "text/html, application/xhtml+xml, */*";
request.KeepAlive = true;
//设定请求内容长度
request.ContentLength = data.Length;
//声明了浏览器用于 HTTP 请求的用户代理头的值
request.UserAgent = " Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; 360SE)";
///<!--设定标头结束-->
//返回请求数据流
Stream newStream = request.GetRequestStream();
//向当前流中写入字节序列
newStream.Write(data, , data.Length);
//关闭流
newStream.Close();
//获取或设置与此请求关联的 cookie。
request.CookieContainer = CookiC;
//返回来自 Internet 资源的响应。
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//将返回的cookie添加进cookie容器
CookiC.Add(response.Cookies);
//获取流,该流用于读取来自服务器的响应的体。
Stream stream = response.GetResponseStream();
//将流转换成指定编码格式字符串
string WebContent = new StreamReader(stream, System.Text.Encoding.UTF8).ReadToEnd();
//返回获取到的cookie
return CookiC;
} /// <summary>
/// 遍历CookieContainer提取cookie
/// </summary>
/// <param name="cc">需要遍历的CookieContainer</param>
/// <returns>List<Cookie></returns>
public static List<Cookie> GetAllCookies(CookieContainer cc)
{
List<Cookie> lstCookies = new List<Cookie>();
Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, cc, new object[] { });
foreach (object pathList in table.Values)
{
SortedList lstCookieCol = (SortedList)pathList.GetType().InvokeMember("m_list", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, pathList, new object[] { });
foreach (CookieCollection colCookies in lstCookieCol.Values)
foreach (Cookie c in colCookies) lstCookies.Add(c);
}
return lstCookies;
}
}
}

INIClass专门ini操作类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
namespace 沃狐新浪博客推广系统
{
class INIClass
{
public string inipath;
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
[DllImport("kernel32")]
private static extern long WritePrivateProfileSection(string section, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, Byte[] retVal, int size, string filePath);
/// <summary>
/// 构造方法
/// </summary>
/// <param name="INIPath">文件路径</param>
public INIClass(string INIPath)
{
inipath = INIPath;
if (inipath == null || inipath.Length < || !ExistINIFile)
{
File.Create(INIPath).Close();
}
} /// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public void IniWriteValue(string Section, string Key, object objValue)
{
if (objValue == null) objValue = "";
WritePrivateProfileString(Section, Key, objValue.ToString().Trim(), this.inipath);
}
/// <summary>
/// 写入INI文件,没有健只有值
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Value">值</param>
public void IniWriteSection(string section, string val)
{
WritePrivateProfileSection(section, val, this.inipath);
}
/// <summary>
/// 读出INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder();
int i = GetPrivateProfileString(Section, Key, "", temp, , this.inipath);
return temp.ToString();
}
/// <summary>
/// 读出INI文件数组
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public byte[] IniReadValueNew(string Section, string Key)
{
byte[] temp = new byte[];
int i = GetPrivateProfileString(Section, Key, "", temp, , this.inipath);
return temp;
}
/// <summary>
/// 验证文件是否存在
/// </summary>
/// <returns>布尔值</returns>
public bool ExistINIFile
{
get {
return File.Exists(inipath);
}
}
}
}

Sendwall新浪发送信息类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Net;
using System.Web;
using System.IO;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Runtime.InteropServices;
namespace 沃狐新浪博客推广系统
{
class Sendwall
{ private string tuid="";
public string Tuid
{
get
{
return tuid;
}
set
{
tuid = value;
}
}
private string fuid="";
public string Fuid
{
get
{
return fuid;
}
set
{
fuid = value;
}
}
private string content="";
public string Content
{
get
{
return content;
}
set
{
content = value;
}
}
CookieContainer cc = new CookieContainer();
public CookieContainer Cc
{
get
{
return cc;
}
set
{
cc = value;
}
}
private Form1 m_spiderForm;
/// <summary>
///蜘蛛报告其结果的对象。
/// </summary>此处最难理解
public Form1 ReportTo
{
get
{
return m_spiderForm;
} set
{
m_spiderForm = value;
}
}
//转换成URlEncode
public string UrlEncode(string str)
{
StringBuilder sb = new StringBuilder();
byte[] byStr = System.Text.Encoding.UTF8.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
for (int i = ; i < byStr.Length; i++)
{
sb.Append(@"%" + Convert.ToString(byStr[i], ));
} return (sb.ToString());
}
//Form1 frm1 = new Form1();
//发纸条目前无法判断是否发生成功
public void SendwallF()
{
string FormData = "version=7";
FormData += "&varname=addFriendRequest";
FormData += "&tuid=" + Tuid;//自己
FormData += "&rnd=1342799242793" ;
FormData += "&fuid=" + fuid;//对方
FormData += "&content=" + UrlEncode(Content);
FormData += "&authcode=";
//http://control.blog.sina.com.cn/riaapi/profile/messagesend.php?tuid=2823833972&fuid=2774260630&authcode=3281&content=%E4%BD%A0%E5%A5%BD&varname=addFriendRequest&version=7&rnd=1342799242793
string FormURL = "http://control.blog.sina.com.cn/riaapi/profile/messagesend.php";
//try
//{
HttpWebRequest Myrequest = (HttpWebRequest)WebRequest.Create(FormURL + FormData);
Myrequest.CookieContainer = Cc;
Myrequest.Timeout = ;
Myrequest.ContentType = "application/x-www-form-urlencoded";
Myrequest.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; 360SE)";
Myrequest.Accept = "application/javascript, */*;q=0.8";
Myrequest.Headers.Add("Accept-Language", "zh-CN");
//
Myrequest.Headers.Add("Accept-Encoding", "gzip, deflate");
//
Myrequest.Headers.Add("Cache-Control", "no-cache"); Myrequest.Referer = "http://blog.sina.com.cn/s/profile_" + fuid + ".html";
HttpWebResponse Myresponse = (HttpWebResponse)Myrequest.GetResponse();
cc.Add(Myresponse.Cookies);
Stream Mystream = Myresponse.GetResponseStream();
string WebContent = new StreamReader(Mystream, Encoding.GetEncoding("utf-8")).ReadToEnd();
Myresponse.Close();
Mystream.Close(); ReportTo.SetrichTextWithDelegate(ReportTo.richTextBox1, "发送纸条:" + WebContent + "成功");
ReportTo.autoEventStartF.Reset();
//}
//catch
//{
// frm1.SetrichTextWithDelegate(frm1.richTextBox1, "发送纸条失败");
//}
//string WebContent = new StreamReader(Mystream, Encoding.GetEncoding("utf-8")).ReadToEnd();
//Match m = Regex.Match(WebContent, @"{\""rows\""([^}]*)}", RegexOptions.IgnoreCase);
//return true;
}
//发送留言
public void SendmsgF()
{
//try
//{
//请求参数设定
string FormData = "domain=1";
//
FormData += "&uid=" + Tuid;
//
FormData += "&msg=" + Content;
//
string FormURL = "http://control.blog.sina.com.cn/blog_rebuild/riaapi/profile/note/notewalladd.php";
//
Encoding encoding = Encoding.UTF8;
//
byte[] data = encoding.GetBytes(FormData);
//
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(FormURL);
//
request.Method = "POST";
//数据提交方式
request.ContentType = "application/x-www-form-urlencoded"; //
request.KeepAlive = true;
//
request.AllowWriteStreamBuffering = true;
//
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
//
request.MaximumResponseHeadersLength = -;
//
request.Referer = "http://blog.sina.com.cn/u/" + Tuid;
//
request.Accept = "text/html, application/xhtml+xml, */*";
//
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
//
request.Headers.Add("Accept-Language", "zh-CN");
//
request.Headers.Add("Accept-Encoding", "gzip, deflate");
//
request.Headers.Add("Cache-Control", "no-cache");
//
request.CookieContainer = Cc;
//
request.ContentLength = data.Length;
//模拟一个UserAgent
Stream newStream = request.GetRequestStream();
//
newStream.Write(data, , data.Length);
//
newStream.Close();
//
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//
request.GetResponse().ResponseUri.ToString();
//
Stream stream = response.GetResponseStream();
//
string WebContent = new StreamReader(stream, System.Text.Encoding.UTF8).ReadToEnd();
// Match m = Regex.Match(WebContent, @"{\""rows\""([^}]*)}", RegexOptions.IgnoreCase);
//
ReportTo.SetrichTextWithDelegate(ReportTo.richTextBox1, "发送留言成功");
ReportTo.autoEventStartF.Reset();
//if (m.Success)
//{
// string str = m.Value.Replace("rows", "");
// str = str.Replace(":", "");
// //str = str.Replace("{", "");
// //str = str.Replace("}", "");
// if (str.Length > 3)
// {
// return true;
// }
// else
// {
// return false;
// }
//}
//else
//{
// return false;
//}
//}
//catch { return false; }
}
//加好友
public void SendaddFriendF()
{
string FormData = "version=7";
FormData += "&varname=addFriendRequest";
FormData += "&tuid=" + Tuid;
FormData += "&rnd=";
FormData += "&fuid=" + fuid;
FormData += "&content=" + UrlEncode(Content);
FormData += "&authcode=";
//try
//{
string FormURL = "http://control.blog.sina.com.cn/riaapi/profile/invitesend.php";
HttpWebRequest Myrequest = (HttpWebRequest)WebRequest.Create(FormURL + FormData);
Myrequest.CookieContainer = Cc;
HttpWebResponse Myresponse = (HttpWebResponse)Myrequest.GetResponse();
cc.Add(Myresponse.Cookies);
Stream Mystream = Myresponse.GetResponseStream();
//return true;
//}
//catch { return false; }
ReportTo.autoEventStartF.Reset();
}
//加关注
public void SendattentionF()
{
Random rd = new Random();
string FormData = "varname=requestId_"+rd.Next().ToString();;
FormData += "&uid=" + fuid;
FormData += "&aid=" + Tuid;
string FormURL = "http://control.blog.sina.com.cn/riaapi/profile/attention_add.php";
//try
//{
HttpWebRequest Myrequest = (HttpWebRequest)WebRequest.Create(FormURL + FormData);
Myrequest.CookieContainer = Cc;
HttpWebResponse Myresponse = (HttpWebResponse)Myrequest.GetResponse();
cc.Add(Myresponse.Cookies);
Stream Mystream = Myresponse.GetResponseStream();
//return true;
//}
//catch { return false; }
ReportTo.autoEventStartF.Reset();
}
}
}

xmlRW专门xml读写类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml; using System.Windows.Forms;
namespace 沃狐新浪博客推广系统
{
class xmlRW
{ public List<xmlUserLogin> Read(string path)
{
int UserCode = ;
string Auser="",UserPwd = "", UserName = "", Remark = "";
List<xmlUserLogin> list = new List<xmlUserLogin>();
XmlReaderSettings xmlSet = new XmlReaderSettings();
using (XmlReader reader = XmlReader.Create(path, xmlSet))
{
while (reader.Read()) //使用XmlReader对象单向高效地读取xml文件
{
xmlUserLogin UserLogin = new xmlUserLogin();
if (reader.NodeType == XmlNodeType.Element && "User" == reader.LocalName)
{
Auser =reader.GetAttribute();
}
if (reader.NodeType == XmlNodeType.Element && "UserCode" == reader.LocalName)
{
UserCode = Convert.ToInt16(reader.ReadString());
}
if (reader.NodeType == XmlNodeType.Element && "UserName" == reader.LocalName)
{
UserName= reader.ReadString();
}
if (reader.NodeType == XmlNodeType.Element && "UserPwd" == reader.LocalName)
{
UserPwd = reader.ReadString(); }
if (reader.NodeType == XmlNodeType.Element && "Remark" == reader.LocalName)
{ UserLogin.auser = Auser;
UserLogin.userCode = UserCode;
UserLogin.userName = UserName;
UserLogin.userPwd = UserPwd;
UserLogin.remark = Remark;
list.Add(UserLogin);
} }
}
return list;
} //WriteXml 完成对User的修改密码操作
//FileName 当前xml文件的存放位置
//UserCode 欲操作用户的编码
//UserPassword 欲修改用户的密码
public void UpdateNode(string FileName, string OUserName,string NUserName, string NUserPwd,string Remark)
{
//初始化XML文档操作类
XmlDocument myDoc = new XmlDocument();
//加载XML文件
myDoc.Load(FileName);
//搜索指定的节点
System.Xml.XmlNodeList nodes = myDoc.SelectNodes("//User");
if (nodes != null)
{
foreach (System.Xml.XmlNode xn in nodes)
{
if (xn.SelectSingleNode("UserName").InnerText == OUserName)
{
xn.SelectSingleNode("UserName").InnerText = NUserName;
xn.SelectSingleNode("UserPwd").InnerText = NUserPwd;
xn.SelectSingleNode("Remark").InnerText = Remark; } }
}
myDoc.Save(FileName);
} //DeleteNode 完成对User的添加操作
//FileName 当前xml文件的存放位置
//UserCode 欲添加用户的编码
public void DeleteNode(string FileName, string UserName)
{
//初始化XML文档操作类
XmlDocument myDoc = new XmlDocument();
//加载XML文件
myDoc.Load(FileName);
//搜索指定某列,一般是主键列
XmlNodeList myNode = myDoc.SelectNodes("//UserName");
//判断是否有这个节点
if (!(myNode == null))
{
//遍历节点,找到符合条件的元素
foreach (XmlNode xn in myNode)
{
if (xn.InnerXml == UserName)
//删除元素的父节点
xn.ParentNode.ParentNode.RemoveChild(xn.ParentNode);
}
}
//保存
myDoc.Save(FileName);
}
//WriteXml 完成对User的添加操作
//FileName 当前xml文件的存放位置
//UserCode 欲添加用户的编码
//UserName 欲添加用户的姓名
//UserPassword 欲添加用户的密码
public void AddNode(string FileName, string UserName, string UserPassword, string Remark)
{
//初始化XML文档操作类
XmlDocument myDoc = new XmlDocument();
//加载XML文件
myDoc.Load(FileName);
//添加元素--UserName
XmlElement eleUserName = myDoc.CreateElement("UserName");
XmlText textUserName = myDoc.CreateTextNode(UserName);
//添加元素--UserPwd
XmlElement eleUserPwd = myDoc.CreateElement("UserPwd");
XmlText textUserPwd = myDoc.CreateTextNode(UserPassword);
//添加元素--Remark
XmlElement eleRemark = myDoc.CreateElement("Remark");
XmlText textRemark = myDoc.CreateTextNode(Remark);
//添加节点 User要对应我们xml文件中的节点名字
XmlNode newElem = myDoc.CreateNode(XmlNodeType.Element, "User",""); XmlAttribute newElemAttrib =null;
newElemAttrib = myDoc.CreateAttribute("eb");
newElemAttrib.Value = "true";
newElem.Attributes.Append(newElemAttrib);
//newElem.Attributes
//newElem = myDoc.CreateNode(XmlNodeType.Attribute, "eb", "true");
//在节点中添加元素
newElem.AppendChild(eleUserName);
newElem.LastChild.AppendChild(textUserName); newElem.AppendChild(eleUserPwd);
newElem.LastChild.AppendChild(textUserPwd); newElem.AppendChild(eleRemark);
newElem.LastChild.AppendChild(textRemark);
//将节点添加到文档中
XmlElement root = myDoc.DocumentElement;
root.AppendChild(newElem);
//保存
myDoc.Save(FileName); }
}
}

xmlUserLogin参数类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 沃狐新浪博客推广系统
{
class xmlUserLogin
{
private string Auser = "";
private int UserCode = ;
private string UserName = "";
private string UserPwd = "";
private string Remark = "";
public string auser
{
get
{
return Auser;
}
set
{
Auser = value;
}
}
public int userCode
{
get
{
return UserCode;
}
set
{
UserCode = value;
}
}
public string userPwd {
get
{
return UserPwd;
}
set
{
UserPwd = value;
}
}
public string userName
{
get {
return UserName;
}
set
{
UserName = value;
}
}
public string remark {
get
{
return Remark;
}
set
{
Remark = value;
}
}
}
}

c# 读写xml 操作类

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Xml; namespaceKeyCalc
{
classXmlClass
{
/// <summary>
/// 配置文件路径
/// </summary>
privatestringxmlFilePath;
/// <summary>
/// 皮肤索引 
/// </summary>
publicstringskinIndex;
/// <summary>
/// 皮肤路径
/// </summary>
publicstringskinPath; publicXmlClass()
{
//指定XML文件名
xmlFilePath ="config.xml";
//检测XML配置文件是否存在
if(System.IO.File.Exists(xmlFilePath))
return;
CreateDefaultXml();
} #region " ReadXML() 读取XML配置文件的参数设置,获取下载的TXT文件路径与上传的数据文件路径"
/// <summary>
/// 读取XML配置文件的参数设置,获取下载的TXT文件路径与上传的数据文件路径
/// </summary>
/// <returns></returns>
publicboolReadXML()
{
try
{
XmlDocument xmlDoc=newXmlDocument();
//读取XML配置文件
xmlDoc.Load(xmlFilePath); //读取XML文件节点
XmlNode rootNode = xmlDoc.SelectSingleNode("Skin").SelectSingleNode("ParameterSet");
if( rootNode==null)
throw(newException("XML配置文件信息异常")); //获取XML文件参数设置下的节点值
XmlElement downfile = (XmlElement)(rootNode.SelectSingleNode("SkinIndex"));
if(downfile ==null)
throw(newException("XML配置文件信息异常"));
skinIndex = downfile.InnerText;
XmlElement uploadfile = (XmlElement)(rootNode.SelectSingleNode("SkinPath"));
if(uploadfile ==null)
throw(newException("XML配置文件信息异常"));
skinPath = uploadfile.InnerText; returntrue;
}
catch(System.Exception e)
{
throw(e);
}
}
#endregion #region " WriteXML() 写XML配置文件的参数设置,保存下载的TXT文件路径与上传的数据文件路径"
/// <summary>
/// 写XML配置文件的参数设置,保存下载的TXT文件路径与上传的数据文件路径
/// </summary>
/// <returns></returns>
publicboolWriteXML()
{
try
{
XmlDocument xmlDoc =newXmlDocument();
//读取XML配置文件
xmlDoc.Load(xmlFilePath); //读取XML文件节点
XmlNode rootNode = xmlDoc.SelectSingleNode("Skin").SelectSingleNode("ParameterSet");
if(rootNode ==null)
throw(newException("XML配置文件信息异常")); //设置XML文件节点的值
XmlElement skinIndexs = (XmlElement)(rootNode.SelectSingleNode("SkinIndex"));
if(skinIndexs ==null)
throw(newException("XML配置文件信息异常"));
skinIndexs.InnerText = skinIndex;
XmlElement skinPaths = (XmlElement)(rootNode.SelectSingleNode("SkinPath"));
if(skinPaths ==null)
throw(newException("XML配置文件信息异常"));
skinPaths.InnerText = skinPath; //保存XML文件
xmlDoc.Save(xmlFilePath); returntrue;
}
catch(System.Exception ex)
{
throw(ex);
}
}
#endregion #region " CreateDefaultXml() 创建一个默认的XML配置文件"
/// <summary>
/// 创建一个默认的XML配置文件
/// </summary>
privatevoidCreateDefaultXml()
{
try
{
XmlDocument xmlDoc =newXmlDocument();
//创建XML文件描述
XmlDeclaration dec = xmlDoc.CreateXmlDeclaration("1.0","GB2312",null);
xmlDoc.AppendChild(dec);
//创建根元素
XmlNode root = xmlDoc.CreateNode(XmlNodeType.Element,"Skin","");
xmlDoc.AppendChild(root); //添加参数设置节点
XmlNode parConfig = xmlDoc.CreateNode(XmlNodeType.Element,"ParameterSet","");
root.AppendChild(parConfig); //添加下载到PDA的TXT文件路径
XmlElement skinIndexs = xmlDoc.CreateElement("SkinIndex");
skinIndexs.InnerText ="";
parConfig.AppendChild(skinIndexs);
//添加PDA数据文件上传到PC端的文件路径
XmlElement skinPaths = xmlDoc.CreateElement("SkinPath");
skinPaths.InnerText ="";
parConfig.AppendChild(skinPaths); //保存xml文件
xmlDoc.Save(xmlFilePath);
}
catch(System.Exception ex)
{
throw(newException("创建默认XML文件失败"+ex.Message));
}
}
#endregion }
}

C#读写XML文件

**************************** phone.xml ****************************
<?xml version="1.0" encoding="utf-8" ?>
<PhoneBook>
<phone id="">
<Name>加菲尔德</Name>
<Number></Number>
<City>纽约</City>
<DateOfBirth>//</DateOfBirth>
</phone>
<phone id="">
<Name>迈克</Name>
<Number></Number>
<City>纽约</City>
<DateOfBirth>//</DateOfBirth>
</phone>
</PhoneBook>
*********************************************************************
·使用Document读取及写入XML方法
private void xmlfun()
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("phone.xml"));
XmlElement node = doc.CreateElement("phone");
XmlAttribute atr = doc.CreateAttribute("id");
atr.InnerText = "";
node.Attributes.Append(atr);
XmlNode xnode = (XmlNode)doc.CreateElement("Name");
xnode.InnerText="testName";
node.AppendChild(xnode);
xnode = (XmlNode)doc.CreateElement("Number");
xnode.InnerText="";
node.AppendChild(xnode);
xnode = (XmlNode)doc.CreateElement("City");
xnode.InnerText="cs";
node.AppendChild(xnode);
xnode = (XmlNode)doc.CreateElement("DateOfBirth");
xnode.InnerText="12/02/1978";
node.AppendChild(xnode);
doc.DocumentElement.InsertAfter(node,doc.DocumentElement.LastChild);
doc.Save(Server.MapPath("phone1.xml")); //必须要存为不同的文件
} ·使用XmlTextWriter写入XML方法
private void xmlwriter()
{
XmlTextWriter writer= new XmlTextWriter(Server.MapPath("phone4.xml"),null);
writer.Formatting = Formatting.Indented; //缩进格式
writer.Indentation =;
writer.WriteStartDocument();
writer.WriteStartElement("Person");
writer.WriteStartAttribute("ID",null);
writer.WriteString("");
writer.WriteEndAttribute();
writer.WriteStartElement("Name");
writer.WriteString("testWriterName");
writer.WriteEndElement();
writer.WriteStartElement("Number");
writer.WriteString("");
writer.WriteEndElement();
writer.WriteStartElement("City");
writer.WriteString("testWriterCity");
writer.WriteEndElement();
writer.Flush();
writer.Close();
} ·使用XmlTextReader读取XML方法
private void xmlread()
{
XmlTextReader reader = new XmlTextReader(Server.MapPath("phone.xml"));
while(reader.Read())
{
if(reader.LocalName.Equals("Name") || reader.LocalName.Equals("Number"))
{
this.Label1.Text += reader.ReadString()+"\t";
} ·作用SqlCommand.ExecuteXmlReader()取得XML
SqlConnecting conn = new SqlConnection(CONNSTR);
SqlCommand cmd = new SqlCommand("select fname from employee for xml auto",conn);
conn.open();
XmlReader reader = cmd.ExecuteXmlReader();
......
################ 所取xml数据格式 #################
<employee fname="aria"/>
<employee fname="carlors"/>......

C#读写INI文件

摘自:伊图教程网[www.etoow.com]
http://www.etoow.com/html/2007-08/1187271505-1.html 虽然微软早已经建议在WINDOWS中用注册表代替INI文件,但是在实际应用中,INI文件仍然有用武之地,尤其现在绿色软件的流行,越来越多的程序将自己的一些配置信息保存到了INI文件中。 INI文件是文本文件,由若干节(section)组成,在每个带括号的标题下面,是若干个关键词(key)及其对应的值(Value)
  [Section]
  Key=Value VC中提供了API函数进行INI文件的读写操作,但是微软推出的C#编程语言中却没有相应的方法,下面是一个C# ini文件读写类,从网上收集的,很全,就是没有对section的改名功能,高手可以增加一个。 using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Collections; using System.Collections.Specialized; namespace wuyisky{   /**/   /// <summary>   /// IniFiles的类   /// </summary>   public class IniFiles   {     public string FileName; //INI文件名     //声明读写INI文件的API函数     [DllImport("kernel32")]     private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath);     [DllImport("kernel32")]     private static extern int GetPrivateProfileString(string section, string key, string def, byte[] retVal, int size, string filePath);     //类的构造函数,传递INI文件名     public IniFiles(string AFileName)     {       // 判断文件是否存在       FileInfo fileInfo = new FileInfo(AFileName);       //Todo:搞清枚举的用法       if ((!fileInfo.Exists))       { //|| (FileAttributes.Directory in fileInfo.Attributes))         //文件不存在,建立文件         System.IO.StreamWriter sw = new System.IO.StreamWriter(AFileName, false, System.Text.Encoding.Default);         try         {           sw.Write("#表格配置档案");           sw.Close();         }         catch         {           throw (new ApplicationException("Ini文件不存在"));         }       }       //必须是完全路径,不能是相对路径       FileName = fileInfo.FullName;     }     //写INI文件     public void WriteString(string Section, string Ident, string Value)     {       if (!WritePrivateProfileString(Section, Ident, Value, FileName))       {           throw (new ApplicationException("写Ini文件出错"));       }     }     //读取INI文件指定     public string ReadString(string Section, string Ident, string Default)     {       Byte[] Buffer = new Byte[];       int bufLen = GetPrivateProfileString(Section, Ident, Default, Buffer, Buffer.GetUpperBound(), FileName);       //必须设定0(系统默认的代码页)的编码方式,否则无法支持中文       string s = Encoding.GetEncoding().GetString(Buffer);       s = s.Substring(, bufLen);       return s.Trim();     }     //读整数     public int ReadInteger(string Section, string Ident, int Default)     {       string intStr = ReadString(Section, Ident, Convert.ToString(Default));       try       {         return Convert.ToInt32(intStr);       }       catch (Exception ex)       {         Console.WriteLine(ex.Message);         return Default;       }     }     //写整数     public void WriteInteger(string Section, string Ident, int Value)     {       WriteString(Section, Ident, Value.ToString());     }     //读布尔     public bool ReadBool(string Section, string Ident, bool Default)     {       try       {         return Convert.ToBoolean(ReadString(Section, Ident, Convert.ToString(Default)));       }       catch (Exception ex)       {         Console.WriteLine(ex.Message);         return Default;       }     }     //写Bool     public void WriteBool(string Section, string Ident, bool Value)     {       WriteString(Section, Ident, Convert.ToString(Value));     }     //从Ini文件中,将指定的Section名称中的所有Ident添加到列表中     public void ReadSection(string Section, StringCollection Idents)     {       Byte[] Buffer = new Byte[];       //Idents.Clear();       int bufLen = GetPrivateProfileString(Section, null, null, Buffer, Buffer.GetUpperBound(),        FileName);       //对Section进行解析       GetStringsFromBuffer(Buffer, bufLen, Idents);     }     private void GetStringsFromBuffer(Byte[] Buffer, int bufLen, StringCollection Strings)     {       Strings.Clear();       if (bufLen != )       {         int start = ;         for (int i = ; i < bufLen; i++)         {           if ((Buffer[i] == ) && ((i - start) > ))           {             String s = Encoding.GetEncoding().GetString(Buffer, start, i - start);             Strings.Add(s);             start = i + ;           }         }       }     }     //从Ini文件中,读取所有的Sections的名称     public void ReadSections(StringCollection SectionList)     {       //Note:必须得用Bytes来实现,StringBuilder只能取到第一个Section       byte[] Buffer = new byte[];       int bufLen = ;       bufLen = GetPrivateProfileString(null, null, null, Buffer,        Buffer.GetUpperBound(), FileName);       GetStringsFromBuffer(Buffer, bufLen, SectionList);     }     //读取指定的Section的所有Value到列表中     public void ReadSectionValues(string Section, NameValueCollection Values)     {       StringCollection KeyList = new StringCollection();       ReadSection(Section, KeyList);       Values.Clear();       foreach (string key in KeyList)       {         Values.Add(key, ReadString(Section, key, ""));          }     }     ////读取指定的Section的所有Value到列表中,     //public void ReadSectionValues(string Section, NameValueCollection Values,char splitString)     //{  string sectionValue;     //  string[] sectionValueSplit;     //  StringCollection KeyList = new StringCollection();     //  ReadSection(Section, KeyList);     //  Values.Clear();     //  foreach (string key in KeyList)     //  {     //    sectionValue=ReadString(Section, key, "");     //    sectionValueSplit=sectionValue.Split(splitString);     //    Values.Add(key, sectionValueSplit[0].ToString(),sectionValueSplit[1].ToString());       //  }     //}     //清除某个Section     public void EraseSection(string Section)     {       //       if (!WritePrivateProfileString(Section, null, null, FileName))       {         throw (new ApplicationException("无法清除Ini文件中的Section"));       }     }     //删除某个Section下的键     public void DeleteKey(string Section, string Ident)     {       WritePrivateProfileString(Section, Ident, null, FileName);     }     //Note:对于Win9X,来说需要实现UpdateFile方法将缓冲中的数据写入文件     //在Win NT, 2000和XP上,都是直接写文件,没有缓冲,所以,无须实现UpdateFile     //执行完对Ini文件的修改之后,应该调用本方法更新缓冲区。     public void UpdateFile()     {       WritePrivateProfileString(null, null, null, FileName);     }     //检查某个Section下的某个键值是否存在     public bool ValueExists(string Section, string Ident)     {       //       StringCollection Idents = new StringCollection();       ReadSection(Section, Idents);       return Idents.IndexOf(Ident) > -;     }     //确保资源的释放     ~IniFiles()     {       UpdateFile();     }   } }

按行读取txt

(函数名凭记忆写的,可能不准确,但差不多)

string = File.ReadAll(filename); 获得整个文本

string[] = File.ReadLines(filename); 获得整个文本,每一行作为一个string,放到数组,应该可以满足你的要求,除非文件特别大。

如果你是因为文件比较大,所以要只读取其中某几行的话,那就只能建立一个file对象,一行行的读,不需要的跳过,直到读到你需要的行,因为“行”这个东西没有办法定位。

如果这个需求量很大,可以考虑自己写一个索引文件,把行号对应的文件偏移量保存起来,下一次就直接seek到对应的位置开始读就可以了。

霸王

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; using System.IO; namespace ReadLine_Demo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
string[] stringlines = File.ReadAllLines("d:\\a.txt",Encoding.Default);
//foreach (string s in stringlines)
//{
// this.richTextBox1.Text = s;
// MessageBox.Show(s); //}
for (int i = ; i < ; i++)
{
if (i < stringlines.Length)
{
this.richTextBox1.Text = stringlines[i].ToString();
MessageBox.Show(stringlines[i].ToString());
}
}
}
}
}

用C#读写ini配置文件

INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数.
INI文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:
[Section1]
KeyWord1 = Value1
KeyWord2 = Value2
...
[Section2]
KeyWord3 = Value3
KeyWord4 = Value4 C#命名空间中没有直接读写INI的类,当然如果你把INT当成文本文件用System.IO类来读写算我没说.
我现在介绍的是系统处理INI的方法.
虽然C#中没有,但是在"kernel32.dll"这个文件中有Win32的API函数--WritePrivateProfileString()和GetPrivateProfileString()
C#声明INI文件的写操作函数WritePrivateProfileString():
[DllImport( "kernel32" )]
private static extern long WritePrivateProfileString ( string section ,string key , string val
, string filePath ) ;
参数说明:section:INI文件中的段落;key:INI文件中的关键字;val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。
C#申明INI文件的读操作函数GetPrivateProfileString():[DllImport("kernel32")]
private static extern int GetPrivateProfileString ( string section ,
string key , string def , StringBuilder retVal ,
int size , string filePath ) ;
参数说明:section:INI文件中的段落名称;key:INI文件中的关键字;def:无法读取时候时候的缺省数值;retVal:读取数值;size:数值的大小;filePath:INI文件的完整路径和名称。 下面是一个读写INI文件的类:
public class INIClass
{
public string inipath;
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);
/// <summary>
/// 构造方法
/// </summary>
/// <param name="INIPath">文件路径</param>
public INIClass(string INIPath)
{
inipath = INIPath;
}
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public void IniWriteValue(string Section,string Key,string Value)
{
WritePrivateProfileString(Section,Key,Value,this.inipath);
}
/// <summary>
/// 读出INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string Section,string Key)
{
StringBuilder temp = new StringBuilder();
int i = GetPrivateProfileString(Section,Key,"",temp,,this.inipath);
return temp.ToString();
}
/// <summary>
/// 验证文件是否存在
/// </summary>
/// <returns>布尔值</returns>
public bool ExistINIFile()
{
return File.Exists(inipath);
}
}

最新文章

  1. 多个.ui共用一个.qrc出错
  2. java 建造者模式
  3. [css3]叉叉旋转效果
  4. 用SQL语句添加删除修改字段_常用SQL
  5. [转]史上最全的CSS hack方式一览
  6. ThreadPool原理介绍
  7. ARM工作模式
  8. ruby 程序中的文字编码
  9. 比赛组队问题 --- 递归解法 --- java代码 --- 八皇后问题
  10. Android MVP架构浅析
  11. MySQL 5.6初始配置调整
  12. how to optimize javascript performance
  13. 关于map
  14. 浅谈TCP三次握手和四次挥手
  15. django(权限、认证)系统—— Permissions和Group
  16. homestead安装
  17. hadoop启动报错:localhost: ssh: Could not resolve hostname localhost
  18. face recognition[翻译][深度学习理解人脸]
  19. Linux inode与文件系统关系
  20. 002.Ceph安装部署

热门文章

  1. 15.永恒之蓝exp----
  2. 20191110 Spring Boot官方文档学习(3)
  3. linux 通配符与正则表达式
  4. pg_receivewal实践
  5. strtoul()要优于atoi()函数---C语言
  6. IDEA导入Junit jar包,在JavaSE的Module中使用Junit测试
  7. Eclipse删除已安装插件
  8. RMQ 模板
  9. c# WPF SVG 文件的引用(SharpVectors)
  10. 在cmd下用cd怎么进不了其他的盘