iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#读取写入文件的方式有哪些
  • 692
分享到

C#读取写入文件的方式有哪些

2023-07-02 09:07:44 692人浏览 独家记忆
摘要

这篇“C#读取写入文件的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#读取写入文件的方式有哪些”文章吧。1:二

这篇“C#读取写入文件的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#读取写入文件的方式有哪些”文章吧。

1:二进制读写

/// <summary>        /// 二进制写入文件        /// </summary>        private void button1_Click(object sender, EventArgs e)        {            SaveFileDialog saveDlg = new SaveFileDialog();            saveDlg.FileName = "File";            saveDlg.Title = "保存数据";            saveDlg.Filter = "File(*.txt)|*.txt";            saveDlg.DefaultExt = "txt";            saveDlg.AddExtension = true;            //saveDlg.InitialDirectory = "D:AMC Results";            if (saveDlg.ShowDialog() == DialogResult.OK)            {                Cursor = Cursors.WaitCursor;                SaveDatafileWithNewVersion(saveDlg.FileName);                Cursor = Cursors.Default;            }        }          /// <summary>        /// 二进制保存文件        /// </summary>        public static void SaveDatafileWithNewVersion(String sFile)        {            //文件格式依次为:内部版本号,...            Stream stream = File.Open(sFile, FileMode.Create);            BinaryWriter bw = new BinaryWriter(stream);            bw.Write((Int16)1);//内部版本号,暂时用1,表示版本1,整型            ///写入Config对象            bw.Write("泽国江山入战图");            bw.Write("生民何计乐樵苏");            bw.Write("凭君莫话封侯事");            bw.Write("一将功成万骨枯");            bw.Close();            stream.Close();        }          /// <summary>        /// 打开文件        /// </summary>        private void button2_Click(object sender, EventArgs e)        {            OpenFileDialog openDlg = new OpenFileDialog();            openDlg.Title = "File";            openDlg.Filter = "File (*.txt)|*.txt";              if (openDlg.ShowDialog() == DialogResult.OK)            {                BinaryReader br = new BinaryReader(new FileStream(openDlg.FileName,                FileMode.Open));                string str = "";                int number = br.ReadInt16();                str += br.ReadString();                str += br.ReadString();                str += br.ReadString();                str += br.ReadString();                  richTextBox1.Text = str;                br.Close();            }        }

2:泛型读写:

/// <summary>        /// 泛型写入        /// </summary>        private void button3_Click(object sender, EventArgs e)        {            SaveFileDialog saveDlg = new SaveFileDialog();            saveDlg.FileName = "File";            saveDlg.Title = "保存数据";            saveDlg.Filter = "File(*.txt)|*.txt";            saveDlg.DefaultExt = "txt";            saveDlg.AddExtension = true;            //saveDlg.InitialDirectory = "D:AMC Results";            if (saveDlg.ShowDialog() == DialogResult.OK)            {                string str = "泽国江山入战图生民何计乐樵苏凭君莫话封侯事一将功成万骨枯";                BinarySerialize<string>(str, saveDlg.FileName);            }        }          /// <summary>        /// 写入文件        /// </summary>        /// <typeparam name="T">类型</typeparam>        /// <param name="obj">写入类型</param>        /// <param name="path">路径</param>        public static void BinarySerialize<T>(T obj, string path)        {              FileStream fileStream = new FileStream(path, FileMode.Create);            BinaryFORMatter b = new BinaryFormatter();            try            {                b.Serialize(fileStream, obj);                fileStream.Close();            }            catch (System.Exception ex)            {                Console.WriteLine(ex.Message);            }            finally            {                if (fileStream != null)                {                    fileStream.Close();                    fileStream.Dispose();                }            }        }          /// <summary>        /// 泛型读取        /// </summary>        private void button4_Click(object sender, EventArgs e)        {            OpenFileDialog openDlg = new OpenFileDialog();            openDlg.Title = "File";            openDlg.Filter = "File (*.txt)|*.txt";              if (openDlg.ShowDialog() == DialogResult.OK)            {                string str = BinaryDeserialize<string>(openDlg.FileName);                richTextBox2.Text = str;            }        }          /// <summary>        /// 读取文件        /// </summary>        /// <typeparam name="T">类型</typeparam>        /// <param name="path">路径</param>        /// <returns></returns>        public static T BinaryDeserialize<T>(string path)        {            FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);            BinaryFormatter b = new BinaryFormatter();    //SoapFormatter            T rs;            try            {                rs = (T)b.Deserialize(fileStream);                return rs;            }            catch (System.Exception ex)            {                Console.WriteLine(ex.Message);            }            finally            {                if (fileStream != null)                {                    fileStream.Close();                    fileStream.Dispose();                }            }            return default(T);        }

3:XML读写:不是很稳定

/// <summary>        /// XML写入        /// </summary>        private void button5_Click(object sender, EventArgs e)        {            SaveFileDialog saveDlg = new SaveFileDialog();            saveDlg.FileName = "File";            saveDlg.Title = "保存数据";            saveDlg.Filter = "File(*.txt)|*.txt";            saveDlg.DefaultExt = "txt";            saveDlg.AddExtension = true;            //saveDlg.InitialDirectory = "D:AMC Results";            if (saveDlg.ShowDialog() == DialogResult.OK)            {                string str = "泽国江山入战图生民何计乐樵苏凭君莫话封侯事一将功成万骨枯";                SerializeToXml<string>(saveDlg.FileName, str);            }        }          /// <summary>            /// XML序列化某一类型到指定的文件        /// /// </summary>          /// /// <param name="filePath">文件路径</param>          /// /// <param name="obj">写入对象</param>         /// /// <param name="type"></param>          public static void SerializeToXml<T>(string filePath, T obj)        {            try            {                using (System.IO.StreamWriter writer = new System.IO.StreamWriter(filePath))                {                    System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(T));                    xs.Serialize(writer, obj);                }            }            catch (Exception ex)            {                Console.WriteLine(ex.Message);            }        }          /// <summary>        /// XML读取        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void button6_Click(object sender, EventArgs e)        {            OpenFileDialog openDlg = new OpenFileDialog();            openDlg.Title = "File";            openDlg.Filter = "File (*.txt)|*.txt";              if (openDlg.ShowDialog() == DialogResult.OK)            {                string str = DeserializeFromXml<string>(openDlg.FileName);                richTextBox3.Text = str;            }        }          /// <summary>            /// 从某一XML文件反序列化到某一类型          /// </summary>           /// <param name="filePath">待反序列化的XML文件名称</param>        /// <param name="type">反序列化出的</param>         /// <returns></returns>           public static T DeserializeFromXml<T>(string filePath)        {            try            {                if (!System.IO.File.Exists(filePath))                    throw new ArgumentNullException(filePath + " not Exists");                using (System.IO.StreamReader reader = new System.IO.StreamReader(filePath))                {                    System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(T));                    T ret = (T)xs.Deserialize(reader);                    return ret;                }            }            catch (Exception ex)            {                Console.WriteLine(ex.Message);                return default(T);            }        }

最终效果:

C#读取写入文件的方式有哪些

以上就是关于“C#读取写入文件的方式有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: C#读取写入文件的方式有哪些

本文链接: https://www.lsjlt.com/news/340957.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#读取写入文件的方式有哪些
    这篇“C#读取写入文件的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#读取写入文件的方式有哪些”文章吧。1:二...
    99+
    2023-07-02
  • C++读取文件的方式有哪些
    这篇文章主要讲解了“C++读取文件的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++读取文件的方式有哪些”吧!C++可以根据不同的目的来选取文件的读取方式,目前为止学习了C++...
    99+
    2023-07-05
  • C#读取写入文件的3种方式示例代码
    目录1:二进制读写2:泛型读写:3:XML读写:不是很稳定最终效果:总结最新对文件的操作比较频繁。这里记录一下常用的几种文件读写的方式。 我这里使用窗体来做测试。 1:二进制读写 /...
    99+
    2022-11-13
  • Python中的文件读写方式有哪些?
    Python中的文件读写方式有多种,可以根据实际需要选择不同的方式。下面将介绍几种常用的文件读写方式,并给出代码示例。使用open()函数open()函数是Python提供的用于打开文件的内置函数。它可以接受文件名和打开模式作为参数,并返回...
    99+
    2023-10-22
    文件
  • C#实现读取写入Json文件
    目录C#读取写入Json文件将数据写入Json文件中Json文件读取Json文件总结C#读取写入Json文件 /// <summary> /// 将序列化...
    99+
    2023-01-28
    C#读取写入Json C#读取Json文件 C#写入Json文件
  • Go语言读取文件的方式有哪些
    这篇文章主要介绍了Go语言读取文件的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言读取文件的方式有哪些文章都会有所收获,下面我们一起来看看吧。整个文件读取我们可以很容易地一次性读取整个文件并将...
    99+
    2023-07-06
  • SQL注入中文件读写的方法有哪些
    这篇文章主要介绍了SQL注入中文件读写的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、MySQL读文件常见的读文件,可以用16...
    99+
    2022-10-18
  • c语言读取文件和写入文件的方法是什么
    在C语言中,读取文件的方法是使用`fopen`函数打开文件,然后使用`fread`或`fgetc`函数来读取文件的内容,最后使用`f...
    99+
    2023-08-09
    c语言
  • c语言文件读写的操作方法有哪些
    本篇内容介绍了“c语言文件读写的操作方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!c语言的文件读写操作:1、用fgetc()和fp...
    99+
    2023-07-04
  • java创建写入文件的方式有哪些
    本篇内容主要讲解“java创建写入文件的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java创建写入文件的方式有哪些”吧!在本文中大量的使用到了try-with-resources语...
    99+
    2023-07-04
  • python文件读写的方法有哪些
    Python文件读写的方法有以下几种:1. 使用open()函数打开文件,并通过read()方法读取文件内容。```pythonfi...
    99+
    2023-09-13
    python
  • perl读取文件的方法有哪些
    Perl读取文件的方法有以下几种:1. 使用open函数打开文件,并使用...
    99+
    2023-10-18
    perl
  • GoLang读取文件的方法有哪些
    这篇文章主要介绍“GoLang读取文件的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“GoLang读取文件的方法有哪些”文章能帮助大家解决问题。一. 整个文件读入内存直接将数据直接读取入内...
    99+
    2023-07-02
  • Java文件读取的方法有哪些
    今天小编给大家分享一下Java文件读取的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。BufferedReader...
    99+
    2023-07-06
  • nodejs读取文件的方法有哪些
    Node.js中读取文件的方法有以下几种:1. 使用fs模块的fs.readFile()方法:该方法将整个文件读入内存,并在回调函数...
    99+
    2023-08-09
    nodejs
  • C#中写入和读取TXT文件问题
    目录C#写入和读取TXT文件写入读取C#下xml读取和写入关于xml自定义xml文件读取XML代码写入XML代码总结C#写入和读取TXT文件 写入 /// <summary&g...
    99+
    2023-01-28
    C#写入TXT文件 C#读取TXT文件 C#文件写入读取
  • 文件写入的方法有哪些
    这篇文章主要讲解了“文件写入的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“文件写入的方法有哪些”吧!0.什么是流Java 中的“流”是一种抽象的概念,也是一种比喻,就好比水流一样...
    99+
    2023-06-15
  • golang读取文件有哪些方法
    golang读取文件的方法:1、使用os包和os.Open函数;2、使用bufio包和Scanner类型;3、使用ioutil包和ReadFile函数;4、使用os/exec包和命令行工具组合读取文件内容。详细介绍:1、使用os包和os.O...
    99+
    2023-12-14
    Golang
  • java读取文本文件的方法有哪些
    Java读取文本文件的方法有以下几种:1. 使用FileReader和BufferedReader类:使用FileReader类读取...
    99+
    2023-09-20
    Java
  • C++文件的数据写入和文件的数据读取的方法实现
    目录一:没有数据,准备数据,写入文件二:读文件操作一:没有数据,准备数据,写入文件 1.main.cpp #include<iostream> using namespa...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作