日期:2014-05-18  浏览次数:20859 次

文本文档问题
1、怎么获取一个文本文档的行数
2、假如知道要读取的行数为第十行怎么读取它,或者知道待读取的行开头有一特定的标识符怎么读取它
3、怎么删除指定的行,并使上下行间没有空行

对IO名字空间的一些类还不熟悉,问题有点多,谢谢回答啊

------解决方案--------------------
StreamReader读出来,逐行读到数组或列表,然后自己处理
StreamWriter写回去
------解决方案--------------------
public bool ModiFile(int row, string fileName, string modiText)
{
if (!File.Exists(fileName))
return false;
try
{
StreamReader sr = new StreamReader(fileName);
List<string> context = new List<string>();
while (!sr.EndOfStream)
{
context.Add(sr.ReadLine());
}
sr.Close();
context[row] = modiText;
StreamWriter sw = new StreamWriter(fileName, false, Encoding.Default);
foreach (string text in context)
{
sw.WriteLine(text);
}
sw.Close();
return true;
}
catch
{
return false;
}
}
------解决方案--------------------
1、string[] srw = File.ReadAllLines(@"C:\1.txt", Encoding.GetEncoding("GB2312"));
srw.Length不就是行数
2、1都读出来了,还去不出来第十行吗?
3、你可以先把srw中的空行删掉,删除就更简单,没什么可说的