TxtToList.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Management;
  7. namespace Ant.Frame
  8. {
  9. //C# 使用List泛型读取和保存文本文件
  10. public class TxtToList
  11. {
  12. /// <summary>
  13. /// 获取本机上的用户帐户 /// </summary>
  14. /// <param name="domainName"></param>
  15. /// <returns></returns>
  16. public List<String> GetUserNames()
  17. {
  18. ManagementClass mcs = new ManagementClass("Win32_UserAccount");
  19. ManagementObjectCollection moc = mcs.GetInstances();
  20. List<String> lstNames = new List<string>();
  21. foreach (ManagementObject mo in moc)
  22. {
  23. lstNames.Add(Environment.UserDomainName + "\\" + mo.GetPropertyValue("Name").ToString());
  24. //domainName = mo.GetPropertyValue("Domain").ToString();
  25. }
  26. return lstNames;
  27. }
  28. //将List转换为TXT文件
  29. public void WriteListToTextFile(List<string> list, string txtFile)
  30. {
  31. //创建一个文件流,用以写入或者创建一个StreamWriter
  32. FileStream fs = new FileStream(txtFile, FileMode.OpenOrCreate, FileAccess.Write);
  33. StreamWriter sw = new StreamWriter(fs);
  34. sw.Flush();
  35. // 使用StreamWriter来往文件中写入内容
  36. sw.BaseStream.Seek(0, SeekOrigin.Begin);
  37. for (int i = 0; i < list.Count; i++) sw.WriteLine(list[i]);
  38. //关闭此文件t
  39. sw.Flush();
  40. sw.Close();
  41. fs.Close();
  42. }
  43. //读取文本文件转换为List
  44. public List<string> ReadTextFileToList(string fileName)
  45. {
  46. FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
  47. List<string> list = new List<string>();
  48. StreamReader sr = new StreamReader(fs);
  49. //使用StreamReader类来读取文件
  50. sr.BaseStream.Seek(0, SeekOrigin.Begin);
  51. // 从数据流中读取每一行,直到文件的最后一行
  52. string tmp = sr.ReadLine();
  53. while (tmp != null)
  54. {
  55. list.Add(tmp);
  56. tmp = sr.ReadLine();
  57. }
  58. //关闭此StreamReader对象
  59. sr.Close();
  60. fs.Close();
  61. return list;
  62. }
  63. }
  64. ////测试代码:
  65. // TxtToList mgr = new TxtToList();
  66. // mgr.WriteListToTextFile(mgr.GetUserNames(), @"c:\test.txt"); //测试生成新的Txt文件
  67. // List<string> list = mgr.ReadTextFileToList(@"C:\test.txt");//记取字符串
  68. // foreach (string s in list) Console.WriteLine(s); //显示出来′
  69. // Console.ReadKey(); //按′任一键关闭Console
  70. }