using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;//添加引用
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//测试代码:
test mgr = new test();
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
/*
* 结果:
* JUQI\ASPNET
JUQI\capable
JUQI\Guest
JUQI\itd0300166
JUQI\IUSR_PLSH166
JUQI\IWAM_PLSH166
JUQI\SUPPORT_388945a0
*
* */
}
}
public class test
{
/// <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;
}
}
}