using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Management;
namespace Ant.Frame
{
//C# 使用List泛型读取和保存文本文件
public class TxtToList
{
///
/// 获取本机上的用户帐户 ///
///
///
public List GetUserNames()
{
ManagementClass mcs = new ManagementClass("Win32_UserAccount");
ManagementObjectCollection moc = mcs.GetInstances();
List lstNames = new List();
foreach (ManagementObject mo in moc)
{
lstNames.Add(Environment.UserDomainName + "\\" + mo.GetPropertyValue("Name").ToString());
//domainName = mo.GetPropertyValue("Domain").ToString();
}
return lstNames;
}
//将List转换为TXT文件
public void WriteListToTextFile(List list, string txtFile)
{
//创建一个文件流,用以写入或者创建一个StreamWriter
FileStream fs = new FileStream(txtFile, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Flush();
// 使用StreamWriter来往文件中写入内容
sw.BaseStream.Seek(0, SeekOrigin.Begin);
for (int i = 0; i < list.Count; i++) sw.WriteLine(list[i]);
//关闭此文件t
sw.Flush();
sw.Close();
fs.Close();
}
//读取文本文件转换为List
public List ReadTextFileToList(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
List list = new List();
StreamReader sr = new StreamReader(fs);
//使用StreamReader类来读取文件
sr.BaseStream.Seek(0, SeekOrigin.Begin);
// 从数据流中读取每一行,直到文件的最后一行
string tmp = sr.ReadLine();
while (tmp != null)
{
list.Add(tmp);
tmp = sr.ReadLine();
}
//关闭此StreamReader对象
sr.Close();
fs.Close();
return list;
}
}
////测试代码:
// TxtToList mgr = new TxtToList();
// mgr.WriteListToTextFile(mgr.GetUserNames(), @"c:\test.txt"); //测试生成新的Txt文件
// List list = mgr.ReadTextFileToList(@"C:\test.txt");//记取字符串
// foreach (string s in list) Console.WriteLine(s); //显示出来′
// Console.ReadKey(); //按′任一键关闭Console
}