C#中用IO流读文件和写文件

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);
                }
            }
        }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值