首页 > 编程语言 >C# 控制台创建txt文本并实现写读操作

C# 控制台创建txt文本并实现写读操作

时间:2023-04-03 14:45:13浏览次数:34  
标签:文件 WriteLine C# 创建 System 写读 File using txt

使用System.IO.File类,所以首先必须对C#的System.IO.File类有所了解:

命名空间:namespace:System.IO

提供用于创建,复制,删除,移动和打开文件的静态方法,并协助创建FileStream对象

将 File 类用于典型的操作,如复制、移动、重命名、创建、打开、删除和追加到文件。 也可将 File 类用于获取和设置文件特性或有关文件创建、访问及写入操作的 DateTime 信息。

许多 File 方法在您创建或打开文件时返回其他 I/O 类型。 可以使用这些其他类型进一步处理文件。 有关更多信息,请参见特定的 File 成员,如 OpenText、CreateText 或 Create。

由于所有的 File 方法都是静态的,所以如果只想执行一个操作,那么使用 File 方法的效率比使用相应的 FileInfo 实例方法可能更高。 所有的 File 方法都要求当前所操作的文件的路径。

File 类的静态方法对所有方法都执行安全检查。 如果打算多次重用某个对象,可考虑改用 FileInfo 的相应实例方法,因为并不总是需要安全检查。

默认情况下,将向所有用户授予对新文件的完全读/写访问权限。

注意:在设置接受路径时,一定要确保路径格式是正确的,否则会出现异常。

例子:创建txt文本,实现写入与读取操作
(使用方法:CreateText(),Open();EndOfStream属性)

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"C:\Users\lijiachen1\Desktop\MyTest.txt";//资源路径格式必须正确合理
        if (!File.Exists(path))
        {
            // 创建文件并写入.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // 打开文件并读取.
        using (StreamReader sr = File.OpenText(path))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
            
            //也可以直接使用EndOfStrean属性直接判断是否到达流结尾
            //while(!sr.EndOfStream)
            //{
            //    Console.WriteLine(sr.ReadLine());
            //}
        }
    }
}

 

标签:文件,WriteLine,C#,创建,System,写读,File,using,txt
From: https://www.cnblogs.com/okeyl/p/17282993.html

相关文章

  • cbv分析、模板、请求与响应、session及源码分析、闪现、请求扩展
    目录1cbv分析1.1源码分析2模板2.1py2.2html3请求与响应4session及源码分析4.1session的使用4.2源码分析4.3session执行原理5闪现6请求扩展1cbv分析#基于类的视图,写法fromflaskimportFlask,requestfromflask.viewsimportView,MethodViewapp=Flask(__......
  • Vue3 watch 监听函数
    1、watch函数(既要指明监视的属性,也要指明监视的回调)坑:1)监视reactive定义的响应式数据时:oldValue无法正确获取、强制开启了深度监视(deep配置失效)2)监视reactive定义的响应式数据中某个属性时:deep配置有效setup(){letsum=ref(0)letmsg=ref('ABCD')letp......
  • 性能分析之dubbo性能参数导致单cpu高
    今天记录一个小问题。问题不大,也没什么分析的逻辑可以讲的。但是想着比较典型,所以就写一写。某年某月的某一天,就像一张破碎的脸......不对,串台了。这一日,一个朋友发来个问题。听起来是个问题。一个线程忙,这种情况应该比较好处理吧。再看一下CPU的状态是什么样,记住这一步是看进程......
  • 持续交付之SonarQube7.4集成P3C
    前言我们在使用SonarQube做Java静态代码扫描的时候必须使用同一套规范,而SonarQube默认使用的是它自带的规范(SonarQube称为规则),而我们都知道在国内阿里在Java领域开源著名的《阿里巴巴Java开发手册》和P3CIDE插件,那么我们有没有什么办法把其与SonarQube集成呢?答案是当......
  • 巧用ChatGPT编写万字长文的论文,纯干货实操
    文/ 韩彬 用ChatGPT写文章属于它的基本操作了,现在我们看看如何使用ChatGPT编写论文级的文章。 论文的编写步骤通常有这四步: 1、定主题 2、写提纲 3、填内容 4、改标题(可选项) 这几点其实可以运用于我们对ChatGPT的操作。 这里面有个小技巧,建议你先用英文......
  • 加载spring配置的两个方法AnnotationConfigApplicationContext()和getRootConfigClass
    在Spring中,AnnotationConfigApplicationContext类和AbstractAnnotationConfigDispatcherServletInitializer类中的getRootConfigClasses()方法都是用来加载Spring配置类,并创建Spring容器的。因此,它们的作用是相似的,都是用来配置Spring容器的。但是,它们的使用场景和......
  • SpringCloud大文件上传解决方案支持分片断点上传
    ​IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传......
  • 介绍一下requestAnimationFrame和requestIdleCallback
    当我们需要执行动画或其他高性能操作时,常常会遇到以下问题:-任务的执行频率过高,对CPU和内存造成了大量的压力。-任务的优先级较高,导致其他任务无法及时得到处理。为了解决这些问题,JavaScript提供了两个调度API:requestAnimationFrame和requestIdleCallback。 request......
  • LiveQing流媒体RTMP推流服务-如何获直播流地址 HLS/HTTP-FLV/WS-FLV/WebRTC/RTMP视频
    @目录1、服务说明2、如何一步一步搭建视频直播3、配置鉴权直播间3.1直播间创建3.2获取RTMP推流地址3.3播放流地址4、视频集成方式5、分享页面集成6、视频流地址集成6.1、直播流地址(页面查看获取)6.2、直播流地址(接口调用获取)6.2.1、接口服务地址说明6.2.2、获取直播列表7、RTMP......
  • 来自jackson的灵魂一击:@ControllerAdvice就能保证万无一失吗?
    前几天写了篇关于fastjson的文章,《fastjson很好,但不适合我》。里面探讨到关于对象循环引用的序列化问题。作为spring序列化的最大竞品,在讨论fastjson的时候肯定要对比一下jackson的。所以我也去测试了一下Jackson在对象循环引用的序列化的功用,然后有了一点意外的小发现,在这里跟大......