class Program { public static void Main(string[] args) { string filePath = "c:\\test.txt"; List<string[]> list = ReadInfoFromFile(filePath); //读文件, 包括txt,xml,kml,doc等文件 WriteInfoTofile(filePath, list); //写文件 } /// <summary> /// 读文件 /// </summary> /// <param name="filePath"></param> /// <returns></returns> private static List<string[]> ReadInfoFromFile(string filePath) { if (File.Exists(filePath)) { List<string[]> list = new List<string[]>(); // 打开文件时 一定要注意编码 也许你的那个文件并不是GBK编码的 using (StreamReader sr = new StreamReader(filePath, Encoding.GetEncoding("GBK"))) { while (!sr.EndOfStream) //读到结尾退出 { string temp = sr.ReadLine(); //将每一行拆分,分隔符就是char 数组中的字符 string[] strArray = temp.Split(new char[] { '\t', ' ', ',' }, StringSplitOptions.RemoveEmptyEntries); //将拆分好的string[] 存入list list.Add(strArray); } } return list; } return null; } /// <summary> /// 写文件 /// </summary> /// <param name="filePath"></param> /// <param name="list"></param> private static void WriteInfoTofile(string filePath, List<string[]> list) { // 打开文件时 一定要注意编码 也许你的那个文件并不是GBK编码的 using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.GetEncoding("GBK"))) { //一个string[] 是一行 ,每行都以tab键分隔 foreach (string[] strArray in list) { string line = string.Empty; foreach (string temp in strArray) { if (!string.IsNullOrEmpty(temp)) { line += temp; line += "\t"; } } sw.WriteLine(line); } } } }
C#中用IO流读文件和写文件
最新推荐文章于 2023-07-20 23:27:48 发布