c#对文件的操作
//创建文件
public static void WriteFile(string str)
{
StreamWriter sr;
if (File.Exists(FILE_NAME)) //如果文件存在,则创建File.AppendText对象
{
sr = File.AppendText(FILE_NAME);
}
else //如果文件不存在,则创建File.CreateText对象
{
sr = File.CreateText(FILE_NAME);
}
sr.WriteLine(str);
sr.Close();
}
用C#读取文本文件中指定的行
//用ArrayList必须加这句;
using System.Collections;
//读文件;
//path 工作目录; fgf 分隔符;
public ArrayList readTxtFile(string path,string fgf)
{
if (!File.Exists(path))
{
Console.WriteLine("文件不存在!");
Console.WriteLine("按回车键退出!");
Console.ReadLine();
return null;
}
try
{
//读出一行文本,并临时存放在ArrayList中
StreamReader sr = new StreamReader(path, Encoding.GetEncoding("gb2312"));
string l;
ArrayList content = new ArrayList();
while((l = sr.ReadLine()) != null)
{
ArrayList row = new ArrayList();
l = l.Trim();
int length = l.Length;
int i = 0;
bool fgf_flag = false;
while(i < length)
{
string x = l[i].ToString();
i++;
if (x.Equals(fgf))
{
fgf_flag = true;
row.Add(l.Substring(0,i-1));
length = length-i+1;
i = 0;
}
}
if (!fgf_flag)
row.Add(l);
row.TrimToSize();
//将多行文本储存在ArrayList中,并返回;
content.Add(row);
}
sr.Close();
content.TrimToSize();
return content;
}
catch(IOException ex)
{
Console.WriteLine("读文件出错!请检查文件是否正确。");
Console.WriteLine(ex.ToString());
return null;
}
}
| //写文件; public void writeTxtFile(string path,string fgf,ArrayList a) { //保存文件已存在 if (File.Exists(path)) { Console.WriteLine("文件已存在!是否覆盖(O)、追加(A)该文件?退出直接按回车键。"); string over_flag = Console.ReadLine().ToString().Trim(); //追加到文件末尾 if (over_flag.Equals("A")||over_flag.Equals("a")) { try { StreamWriter sw = new StreamWriter(path,true,Encoding.GetEncoding("gb2312")); IEnumerator cIE = a.GetEnumerator(); while (cIE.MoveNext()) { ArrayList row =(ArrayList)cIE.Current; //读取文本行中的字符段,并输出文件 IEnumerator rIE = row.GetEnumerator(); int length = row.Count; int i = 0; while (rIE.MoveNext()) { string st = rIE.Current.ToString(); if (i==length-1) sw.Write(st); else sw.Write(st+fgf); i++; } sw.WriteLine(); } sw.Close(); Console.WriteLine("写文件完毕,按回车键退出。。。"); Console.ReadLine(); } catch(IOException ex) { Console.WriteLine(ex.ToString()); Console.WriteLine("写文件出错!请检查文件是否正确。按回车键退出。。。"); Console.ReadLine(); } } } } } } |
浙公网安备 33010602011771号