首页 > 编程语言 >C#知识整理-文件处理(基础)

C#知识整理-文件处理(基础)

时间:2024-12-26 16:42:58浏览次数:4  
标签:文件 fileContent C# 知识 var file 整理 new FileStream

C#中提供处理文件的类库集中在System和System.IO,所以在处理文件之前需要引入对应类库 Visual Studio提供nuget来安装对应的包 0 搜索System.IO并进行安装,安装前请先检查支持的版本

            var folder = "d:\\testfolder";
            var file = "d:\\testfolder\\test.txt";
            var content = "test";
            DirectoryInfo di = new DirectoryInfo(folder);
            Console.WriteLine(di.FullName);
            // 判断文件夹不存在的情况下创建文件夹
            if(!di.Exists) {
                di.Create();
            }
            // 判断文件不存在的情况下创建文件
            if (File.Exists(file))
            {
                File.Create(file);
            }

            // 创建FileStream
            using (var fs1 = new FileStream(file,FileMode.OpenOrCreate,FileAccess.ReadWrite))
            {
                // 往FileStream写入内容
                fs1.Write(Encoding.UTF8.GetBytes(content));
                //将内容写入文件
                fs1.Flush();
            }

            var fileContent = File.ReadAllText(file);
            Console.WriteLine($"file read all text:{fileContent}");

            //通过流读取文件
            using (var fileStream = new FileStream(file, FileMode.Open, FileAccess.Read))
            {
                byte[] textData = new byte[fileStream.Length]; // 创建一个足够大的字节数组来存储文件内容
                fileStream.Read(textData, 0, textData.Length); // 读取文件内容到字节数组
                fileContent = Encoding.UTF8.GetString(textData); // 将字节数组转换为字符串
                Console.WriteLine($"file stream:{fileContent}"); // 输出文件内容
            }
            /*
                output:
                d:\testfolder
                file read all text:test
                file stream:test
             */

  

 

标签:文件,fileContent,C#,知识,var,file,整理,new,FileStream
From: https://www.cnblogs.com/terry841119/p/18633459

相关文章

  • ftp与sftp server docker部署
    目录ftpserver配置项forwindowssftpserver配置项ftpserverversion:'3.9'services:vsftpd:image:fauria/vsftpdcontainer_name:vsftpdenvironment:-FTP_PASS=ftp-FTP_USER=ftp-LOG_STD......
  • VMware——mac下设置虚拟机共享文件夹
    前言按着VMware软件给的提示,设置好共享文件夹之后,在linux目录下没有看到文件夹,就想到了可能是没挂载的原因。内容基本的操作直接参考官方的即可,这里不做描述,直接贴图了,官方给的教程缺少了比较关键的一步,不过可能认为这个是常识,就没有放在文档里吧。基础步骤挂载步骤我这里......
  • VMware——mac下设置虚拟机共享文件夹
    前言按着VMware软件给的提示,设置好共享文件夹之后,在linux目录下没有看到文件夹,就想到了可能是没挂载的原因。内容基本的操作直接参考官方的即可,这里不做描述,直接贴图了,官方给的教程缺少了比较关键的一步,不过可能认为这个是常识,就没有放在文档里吧。基础步骤挂载步骤我这里......
  • 密码学领域三大经典难题:DLP、IFP 与 ECDLP
    离散对数问题(DLP)基本概念:在有限循环群\(G\)(通常是整数模\(p\)乘法群\(Z_p^*\),其中\(p\)为素数)中,给定一个生成元\(g\)和元素\(h=g^x\)(\(x\)为整数),离散对数问题是求出整数\(x\)。例如,在群\(Z_{17}^*\)中,生成元\(g=3\),如果\(h=12\),要求出满足\(3^x\equiv12\(mod\17)\)的\(......
  • centos 7修改网卡名称
    CentOS7修改网卡名称为eth模式目录CentOS7修改网卡名称为eth模式1、[root@localhost]#vi/etc/sysconfig/grub增加如下红色的字段2、修改完毕后,执行如下的命令:CentOS7之后版本的系统网卡名称默认为en开头的格式,某些情况下需要我们修改此格式为eth格式。1、[root@localhost......
  • CentOS7的udev的绑定规则
    CentOS7的udev的绑定规则说明因为udev绑定使用磁盘设备名称的时候,如果设备名称改变了,那么绑定可能会出现问题,考虑到这种场景,我们使用scsi_id绑定udevscsi_id无论你的磁盘设备名称如何改变,它都不会改变,可以唯一确定一个磁盘centos6及以前的版本语法实际上直接使用这些盘也是可......
  • Docker镜像优化
    1、概述Docker作为一款广受欢迎的容器化技术,为开发者提供了极大的便利。它能够将应用程序以及其全部的依赖项整合并打包,形成一个标准化的独立单元——镜像。对Docker镜像进行优化意义非凡,一方面可以显著降低镜像的存储空间占用,进而大幅提升其下载与部署的速率;另一方面,还......
  • Microsoft GraphRAG: Token使用量とコストの簡易分析
    MicrosoftGraphRAG:Token使用量とコストの簡易分析背景前提条件サンプルテキストChunk分割方法抽出するエンティティ・タイプ使用するLLMとコスト設定分析結果1.CreateBaseTextUnits2.ExtractGraph3.CreateFinalCommunityReports4.GenerateTextEmbedding......
  • Centos7创建LVM磁盘管理
    Centos7创建LVM磁盘管理2019-06-02阅读3840环境介绍在centos7下需要挂载两个新的磁盘。为了方便后续的扩容方便,决定将这其设置为LVM管理的方式。查看一下当前有哪些新增的数据盘,如下:[root@runsdata-test-0004~]#df-hFilesystemSizeUsedAvailUse%Mountedon/......
  • C++面向对象
    类和对象类和对象类和对象是C++面向对象的基础,在C++中万事万物都是对象,C++利用类来实例化对象,下面是创建一个Circle类并实例化的语法://创建类classCircle{public:intm_r;voidgetM_r{cout<<m_r;}};//实例化Circlea;类中的......