c#文件操作,大家帮帮忙啦,谢谢了
文件名:ketuConfig.ini内容:如下
-----------------------------
;图书馆名称
Title=第三代图书馆集群管理系统
;是否一卡通用户( Y:是 N:否 )
IsAllInCard=Y
-----------------------------
用C#代码如何读取ketuConfig.ini文件中的文本(要求读取Title,IsAllInCard 这两个"="后面的文本 ";"这个字符后面的作为注释不操作)
详细代码怎么写,非常感谢 --------------------编程问答--------------------
--------------------编程问答-------------------- 读INI用API
using( System.IO.FileStream stream = new System.IO.FileStream(FileName))
{
System.IO.TextReader r = new System.IO.StreamReader( stream );
while( true )
{
string s= r.ReadLine();
if(s == null ) break;
if(s.Length>0)
{
if(s[0]==';') continue;
string ss = s.Split('=');
if( ss.Length==2)
{
if( ss[0]=="Title")
{
string Title = ss[1];
}
else if( ss[0]=="IsAllInCard")
{
string IsAllInCard = ss[1];
}
}
}
}
}
http://www.cnblogs.com/wayfarer/archive/2004/07/16/24783.html --------------------编程问答--------------------
--------------------编程问答-------------------- 正则表达式! --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 有个api函数可以使用 --------------------编程问答-------------------- 学习!! --------------------编程问答-------------------- 4楼正解!
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string strPath = @"c:\ketuConfig.ini";
string sLine = "";
ArrayList arrTitle = new ArrayList();
ArrayList arrText = new ArrayList();
if (File.Exists(strPath) == false)
{
return;
}
try
{
StreamReader objReader = new StreamReader(strPath,Encoding.Default);
string[] arrTemp;
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null && sLine[0] != ';')
{
arrTemp= sLine.Split('=');
arrTitle.Add(arrTemp[0]);
arrText.Add(arrTemp[1]);
}
}
objReader.Close();
for (int i = 0; i < arrTitle.Count; i++)
{
Console.WriteLine(arrTitle[i]);
Console.WriteLine(arrText[i]);
Console.WriteLine();
}
}
catch { }
Console.ReadLine();
}
}
}
if (sLine != null && sLine[0] != ';')
增加对‘=’是否存在的判断就OK了!
if (sLine != null && sLine[0] != ';'&& sLine.IndexOf('=')>=0) --------------------编程问答-------------------- 可以用
while(sr.Peek() >=0)
来判断是否存在,每读一行取第几个就行了,文件格式已固定
char[] ch = new char[]{',','='};
tempPath = Application.StartupPath + @"\*.txt";
if (File.Exists(tempPath))
{
StreamReader sr = new StreamReader(tempPath);
try
{
while (sr.Peek() >= 0)
{
string strTemp = sr.ReadLine();
strTemp.Split(ch);
string[] strArray = strTemp.Split(ch);
//取数据如下:
Console.writeline(strArray[0].trim());
Console.writeline(strArray[1].trim());//等等
}
}
}
补充:.NET技术 , C#