NET问答: 有最干净利落的读写文件方式吗?

咨询区

  • ApprenticeHacker

在 C# 中有很多种读写文件的方式 (文本文件,非二进制)。

为了践行 do more, write less 的思想,现寻找一种最简单最少代码量的方式,因为在我的项目中有太多的功能需要读写文件了。

回答区

  • vc 74

可以使用 C# 中的 File.ReadAllTextFile.WriteAllText

MSDN 上提供了如下的例子。


// Create a file to write to.
string createText = "Hello and Welcome" + Environment.NewLine;
File.WriteAllText(path, createText);...// Open the file to read from.
string readText = File.ReadAllText(path);

  • Roland

可以通过 扩展方法 的方式实现最少代码的写法,我敢打赌绝对是最简单的,做法就是在 string 上做扩展,具体用什么名字就取决于个人喜好了。


using System.IO;//File, Directory, Pathnamespace Lib
{/// <summary>/// Handy string methods/// </summary>public static class Strings{/// <summary>/// Extension method to write the string Str to a file/// </summary>/// <param name="Str"></param>/// <param name="Filename"></param>public static void WriteToFile(this string Str, string Filename){File.WriteAllText(Filename, Str);return;}// of course you could add other useful string methods...}//end class
}//end ns

有了扩展方法后,用起来就非常简单了。


using Lib;//(extension) method(s) for string
namespace ConsoleApp_Sandbox
{class Program{static void Main(string[] args){"Hello World!".WriteToFile(@"c:\temp\helloworld.txt");return;}}//end class
}//end ns

看起来是不是非常美好,所以我决定分享给你们啦,祝使用愉快。

点评区

小编在学习C#的早期,都是通过 StreamWriterStreamReader 来操控文件,参考代码如下:

static void Main(string[] args){using (StreamWriter writetext = new StreamWriter("write.txt")){writetext.WriteLine("writing in text file");}using (StreamReader readtext = new StreamReader("readme.txt")){string readText = readtext.ReadLine();}}

后来莫名其妙的知道了 File 下居然还有 Read 和 Write 系列静态扩展方法后,再也回不去了。。。????????????

不过奇怪也没啥奇怪的,底层大多还是 StreamWriterStreamReader 的封装而已,如下图所示:

原文链接:https://stackoverflow.com/questions/7569904/easiest-way-to-read-from-and-write-to-files

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

写好一份数据分析报告的13个要点

先说说写一份好的数据分析报告的重要性&#xff0c;很简单&#xff0c;因为分析报告的输出是你整个分析过程的成果&#xff0c;是评定一个产品、一个运营事件的定性结论&#xff0c;很可能是产品决策的参考依据&#xff0c;既然这么重要那当然要写好它了。我认为一份好的分析报…

oracle11g安装和基本的使用,手把手看图教你用起来。

前面技术架构和系统选型说到了使用oracle&#xff0c;看到园友们一些评论。我也不想卖弄&#xff0c;不想争论什么数据库好。喜欢就是理由&#xff0c;用了多年了为何不可。 我可以想象&#xff0c;大家没有使用oracle的原因可能有以下几点&#xff1a; 被oracle价格吓破胆的有…

java高并发类_Java 高并发之魂

前置知识了解Java基本语法了解多线程基本知识知识介绍Synchronized简介&#xff1a;作用、地位、不控制并发的后果两种用法&#xff1a;对象锁和类锁多线程访问同步方法的7种情况&#xff1a;是否是static、Synchronized方法等Synchronized的性质&#xff1a;可重入、不可中断原…

.NET 开源配置组件 AgileConfig 初体验

介绍在微服务大行其道的今天&#xff0c;系统会被拆分成多个模块&#xff0c;作为单独的服务运行&#xff0c;同时为了集中化管理&#xff0c;我们还需要日志中心&#xff0c;配置中心等&#xff0c;很多开发人员可能更熟悉 ApolloConfig&#xff0c;这个组件功能也很完善&…

来领资料咯!计算机专业教科书礼包

现在计算机行业越来越火爆&#xff0c;技术的更新也越来越快&#xff0c;不好好充实自己的话&#xff0c;就会被淘汰。小编这几年一直有意识地收集计算机行业相关的书籍&#xff0c;现在已经拥有5G左右的资料&#xff0c;如C、Java、Python、机器学习、网页开发Web Dev、数据分…

SQL Server日期函数集合

SQL Server日期函数集合--1&#xff1a;获取系统日期和时间值函数 --getdate() SELECT GETDATE() AS today --getutcdate() SELECT GETUTCDATE() AS today--2&#xff1a;修改日期和时间值函数 --dat --参考http://msdn.microsoft.com/zh-cn/library/ms186724.aspx --1&#xf…

Asp.Net Core 5 REST API - Step by Step(一)

翻译自 Mohamad Lawand 2021年1月19日的文章 《Asp.Net Core 5 Rest API Step by Step》 [1]在本文中&#xff0c;我们将创建一个简单的 Asp.Net Core REST API Todo 应用程序&#xff0c;在其中我们可以添加、编辑、删除和查看待办事项&#xff0c;并且将使用 SQLite 来存储数…

java 运行环境注册表_Java运行环境与Windows注册表

有两种Java运行环境(JRE)&#xff0c;公有JRE (public JRE)与私有JRE(private JRE)。JDK安装程序会安装私有JRE和一个可选的公有JRE。私有JRE完全包含在JDK的安装路径下&#xff0c;仅对JDK可见&#xff0c;为JDK所用。公有JRE为系统中所有的Java程序共享&#xff0c;具有独立的…

身为程序员碰到最奇葩的需求是怎样的?

梁大折腾部门老大&#xff1a;你&#xff0c;做个微信小游戏吧我&#xff1a;啥样的&#xff1f;老大&#xff1a;反正你就做个小游戏吧&#xff0c;这个火我&#xff1a;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;柔情领导:那个运维啊&#xff0c;你来把他…

NET问答: Entity Framework 如何快速高效的删除表中所有记录 ?

咨询区 Zhenia&#xff1a;在 Entity Framework 中&#xff0c;如何快速高效的删除表中的所有行&#xff1f;我目前是这样写的。var rows from o in dataDb.Tableselect o; foreach (var row in rows) {dataDb.Table.Remove(row); }dataDb.SaveChanges();但这种做法&#xff0…

java 加减乘除是原子操作吗_聊聊原子操作那些事

原子操作&#xff0c;线程间交互数据最细粒度的同步操作&#xff0c;它可以保证线程间读写某个数值的原子性。由于不需要加重量级的互斥锁进行同步&#xff0c;因此非常轻量&#xff0c;而且也不需要在内核间来回切换调度&#xff0c;效率是非常高的。。那如何使用原子操作了&a…

有关技术管理的一些思考

这些天里工作的环境发生了一些微小的变化&#xff0c;可能以后对基层开发的程序员也会有更加具体的影响。上周参加 Open Party 时&#xff0c;重点听了《那些失败的项目们》&#xff0c;分析了一个项目的提出、实施&#xff0c;直到最后失败的过程。我也在想一个技术团队究竟应…

15个未来高科技产品会让你无法想象!这些开脑洞的设计太牛了!

导读&#xff1a;从衣食住行到生活的方方面面&#xff0c;未来必将会有天翻地覆的变化。大数据、云计算、物联网和人工智能这些年的发展&#xff0c;让我们对并不遥远的未来有了更多想象和期待。那些我们现阶段不可企及的所思所想&#xff0c;将在未来成为大部分人的日常。这么…

解决 .NET Core 在 Linux Container 中获取 CurrentCulture 不正确的问题

背景在将公司一款基于 .NET Framework 的控制台程序迁移到 .NET Core 3.1 时&#xff0c;发现程序中本地化的部分失效&#xff0c;症状类似于对 Thread.CurrentThread.CurrentCulture.Name 的值进行 Substring() 操作时抛出 ArgumentOutOfRangeException 异常。该程序在 Window…

Java程序设计当中包的使用_【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承...

【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承super的使用1.使用super访问父类的域和方法注意&#xff1a;正是由于继承&#xff0c;使用this可以访问父类的域和方法。但是有时为了明确指明父类的域和方法&#xff0c;就要用关键字super。this和super都…

机器学习资料升级版来了!!!

机器学习一直是一个热门的领域。上次分享的机器学习资料【资源】机器学习资料包来袭受到大家的广泛好评&#xff0c;今天小编打算分享一份机器学习升级版的资料&#xff0c;有斯坦福大学-深度学习基础教程、机器学习实战、人工智能与大数据、Tagging等。顺序最下优化算法Error …

java consumer 使用_java.util.function.Consumer的用法

Consumer类包含两个方法&#xff0c;一个accept方法用来对输入的参数进行自定义操作&#xff0c;因为是个抽象方法&#xff0c;所以需要实例化对象的时候进行Override&#xff0c;另一个andThen方法跟Function的方法一样是一个default方法&#xff0c;已经有内部实现所以不需要…

程序员从初级到中级10个秘诀

Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》&#xff0c;为我们分享如何才能完成程序员从初级到中级的蜕变&#xff0c;现将中文译文转载于此&#xff0c;供大家借鉴。 在一封与TechRepublic会员交流的邮件当中&…

C# 可空类型

C# 单问号 ? 与 双问号 ?? ? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值&#xff0c;意思是这个数据类型是 Nullable 类型的。int? i 3;等同于&#xff1a;Nullable<int> i new Nullable<int>(3); int i; //默认值0…

K-Means算法的10个有趣用例

K-means算法具有悠久的历史&#xff0c;并且也是最常用的聚类算法之一。K-means算法实施起来非常简单&#xff0c;因此&#xff0c;它非常适用于机器学习新手爱好者。首先我们来回顾K-Means算法的起源&#xff0c;然后介绍其较为典型的应用场景。起源1967年&#xff0c;James M…