• C#向文件写、读数据


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    
    namespace FileTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                WriteFile();
                ReadFile();
    
                Console.ReadKey();
            }
    
    
            /// <summary>
            /// 写、读文件
            /// </summary>
            static void WriteFile()
            {
                string pathUrl = @"E:我的任务其他MyCodes_VS2013MyCodesTestFolderWriteAndReadFile.txt";
    
                try
                {
                    if (File.Exists(pathUrl))
                    {
                        #region 向文件写入数据
    
                        Console.WriteLine("");
                        //以WriteAllBytes方式向文件中写入数据,可以操作除文本文件外的文件类型,比如音频文件,视频文件等
                        Console.WriteLine("以WriteAllBytes方式向文件中写入数据");
                        byte[] contentInByte = Encoding.GetEncoding("gb2312").GetBytes("以WriteAllBytes方式向文件中写入数据。"); ;
                        File.WriteAllBytes(pathUrl, contentInByte);
    
                        Console.WriteLine("");
                        //以WriteAllLines方式向文件中写入数据
                        Console.WriteLine("以WriteAllLine方式向文件中写入数据");
                        string[] contentInString = new string[] { "以WriteAllLine方式向文件中写入数据。" };
                        File.WriteAllLines(pathUrl, contentInString, Encoding.GetEncoding("gb2312"));
    
                        Console.WriteLine("");
                        //以WriteAllText方式向文件中写入数据
                        Console.WriteLine("以WriteAllText方式向文件中写入数据");
                        File.WriteAllText(pathUrl, "以WriteAllText方式向文件中写入数据。", Encoding.GetEncoding("gb2312"));
                        #endregion

                        #region  以上三种方会将文件原有数据覆盖,若想不覆盖原有数据,可以用下面两种方法;实现在原有数据后追加数据
    //AppendAllLines方式向文件写入数据 File.AppendAllLines(pathUrl, new string[] { "AppendAllLine方式向文件写入数据" }, Encoding.GetEncoding("gb2312")); //AppendAllText方式向文件写入数据 File.AppendAllText(pathUrl, "AppendAllText方式向文件写入数据", Encoding.GetEncoding("gb2312"));
    #endregion
    }
    else
                    {
                        File.Create(pathUrl);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + ex.StackTrace);
                }
    
            }
    
    
            static void ReadFile()
            {
                string pathUrl = @"E:我的任务其他MyCodes_VS2013MyCodesTestFolderWriteAndReadFile.txt";
    
                try
                {
                    if (File.Exists(pathUrl))
                    {
                        Console.WriteLine("");
                        #region 读取文件数据
    
                        //以ReadAllBytes方式读取数据
                        Console.WriteLine("以ReadAllBytes方式读取文件数据:");
                        byte[] readContentInByte = File.ReadAllBytes(pathUrl);
                        Console.WriteLine(Encoding.GetEncoding("gb2312").GetString(readContentInByte));
    
                        Console.WriteLine("");
                        //以ReadAllLine方式读取数据
                        Console.WriteLine("以ReadAllLine方式读取文件数据:");
                        string[] readContentInString = File.ReadAllLines(pathUrl, Encoding.GetEncoding("gbk"));
                        Console.WriteLine(readContentInString.Aggregate(string.Empty, (result, current) => result += current));
    
                        Console.WriteLine("");
                        //以ReadAllText方式读取数据
                        Console.WriteLine("以ReadAllTex方式读取文件数据:");
                        Console.WriteLine(File.ReadAllText(pathUrl, Encoding.GetEncoding("GBK")));
    
                        #endregion
                    }
                    else
                    {
                        File.Create(pathUrl);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + ex.StackTrace);
                }
    
            }
        }
    }
  • 相关阅读:
    基于边缘计算网关的桥梁结构安全监测应用
    5G工业网关的边缘计算
    5G工业网关和5G工业路由器差异对比分析
    大型网站架构系列:消息队列(二)
    大型网站架构系列:分布式消息队列(一)
    [转]线程安全类的设计
    [转]runloop原理
    [转]深入理解RunLoop
    [转]iOS保持界面流畅的技巧和AsyncDisplay介绍
    [转]面试时如何优雅的谈论OC
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/4104027.html
Copyright © 2020-2023  润新知