123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 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
- {
- /// <summary>
- /// 获取本机上的用户帐户 /// </summary>
- /// <param name="domainName"></param>
- /// <returns></returns>
- public List<String> GetUserNames()
- {
- ManagementClass mcs = new ManagementClass("Win32_UserAccount");
- ManagementObjectCollection moc = mcs.GetInstances();
- List<String> lstNames = new List<string>();
- 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<string> 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<string> ReadTextFileToList(string fileName)
- {
- FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
- List<string> list = new List<string>();
- 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<string> list = mgr.ReadTextFileToList(@"C:\test.txt");//记取字符串
- // foreach (string s in list) Console.WriteLine(s); //显示出来′
- // Console.ReadKey(); //按′任一键关闭Console
- }
|