C#,入门教程(28)——文件夹(目录)、文件读(Read)与写(Write)的基础知识

上一篇:

 C#,入门教程(27)——应用程序(Application)的基础知识icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/125094837

C#知识比你的预期简单的多,但也远远超乎你的想象!

文件相关的知识,不算多。

作为初学者,先学习文本文件的读写,就足够应付好几年了。

一、文件夹 Directory

文件自然是保存于某个文件夹的,所以先学习文件夹的基础知识。

1、文件夹存在吗?

在读写文件夹之前,必须检查文件夹是否存在?

如同你想去宾馆开房,要先看看是那个宾馆是否开业撒!

using System.IO;


string folderName = @"c:\cat";
if(Directory.Exists(foleName) == false)
{
    ;
}

2、创建文件夹

没开业?豪!自己盖一座!

if(Directory.Exists(folderName) == false)
{
    Directory.CreateDirectory(folderName);
}

3、文件夹信息 DirectoryInfo

文件夹信息经常被用到,当然应该保存与某个变量。

比如下面的,针对文件夹下的子文件夹的操作就此展开... 

DirectoryInfo root = new DirectoryInfo(folderName);
DirectoryInfo[] children = root.GetDirectories();
foreach(DirectoryInfo dx in children)
{
	;
}

二、文件读写

文件的类型大致分为 文本文件 与 二进制文件(其实都是二进制的文件),初学只要掌握文本文件的读写即可。

1、写文件 File.WriteAllText

StringBuilder sb = new StringBuilder();
sb.AppendLine("<font color>Hello World!</font>");

File.Write(@"hello.html", sb.ToString(), Encoding.UTF8);

当然,一般文件的写出操作的规范写法是: 

try
{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine("<font color>Hello World!</font>");
    File.Write(@"hello.html", sb.ToString(), Encoding.UTF8);
}
catch(Exception ex)
{
    throw new Exception("写出文件错误!");
}

语法是:

File.Write( filename , fileBuffer, Encoding Name); 

默认就用 Encoding.UTF8 编码吧,不容易乱码。

2、读文件 File.ReadAllText

你只需要记住这个方法即可。

try
{
    string buf = File.ReadAllText(@"hello.txt", Encoding.UTF8);
    ;
}
catch(Exception ex)
{
    throw new Exception("读文件错误!");
}

语法很简单,好记。

信息在读入内存后再继续处理。

如果是按行处理的信息,则再分行即可:

string[] xlines = buf.Split('\n');
foreach(string xu in xlines)
{
    ;
}

三、又是编码!

编码的问题,是文件读写时经常需要遇到的问题。

后面会专题讲解。

 ——————————————————————

POWER BY 315SOFT.COM &
TRUFFER.CN

下一篇:

 C#,入门教程(29)——修饰词静态(static)的用法详解icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124683349

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

点亮流水灯

目录 1.water_led 2.tb_water_led 50MHZ一个周期是20ns,0.5秒就是20ns0.02um0.00002ms0.000_00002s。0.5/0.000_00002s25_000_000个时钟周期&#xff0c;表示要从0计数到24_999_999 LED灯是低电平点亮&#xff0c;前0.5秒点亮第一个LED灯&#xff0c;当检测到脉冲信号点亮第二…

向量点乘(内积)

向量点乘&#xff1a;&#xff08;内积&#xff09; 点乘&#xff08;Dot Product&#xff09;的结果是点积&#xff0c;又称数量积或标量积&#xff08;Scalar Product&#xff09;。 几何意义&#xff1a; 点乘和叉乘的区别 向量乘向量得到一个数为点乘 向量乘向量得到一个…

对读取的Excel文件数据进行拆分并发请求发送到后端服务器

首先&#xff0c;我们先回顾一下文件的读取操作&#xff1a; 本地读取Excel文件并进行数据压缩传递到服务器-CSDN博客 第一步&#xff1a;根据以上博客&#xff0c;我们将原先的handleFile方法&#xff0c;改为以下内容&#xff1a; const handleFile async(e) > {conso…

从 Vscode 中远程连接 WSL 服务器:可以本地操作虚拟机

从 Vscode 中远程连接 WSL 服务器&#xff1a;可以本地操作虚拟机 1.下载 Vscode Visual Studio Code - Code Editing. Redefined 2.搜索框中输入>wsl&#xff0c;点击 WSL&#xff1a;Connect to WSL using Distro... 3.点击下载好的Ubuntu&#xff0c;当左下角出现图片同…

Linux - 安装字体库解决乱码问题

文章目录 问题描述步骤资源 问题描述 该安装方法&#xff0c;不区分中文和英文字体 Java在linux上转word文档为pdf&#xff0c; linux的字体缺失&#xff0c;导致了转出的pdf为乱码。 ● Linux将word转为pdf后出现乱码&#xff1f; ● 在linux上将word转为pdf 是乱码 ● 在lin…

多维时序 | Matlab实现CNN-GRU-Mutilhead-Attention卷积门控循环单元融合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现CNN-GRU-Mutilhead-Attention卷积门控循环单元融合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现CNN-GRU-Mutilhead-Attention卷积门控循环单元融合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍…

有效的数独[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 请你判断一个9 x 9的数独是否有效。只需要根据以下规则&#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一…

测试C#调用OpenCvSharp和ViewFaceCore从摄像头中识别人脸

学习了基于OpenCvSharp获取摄像头数据&#xff0c;同时学习了基于ViewFaceCore的人脸识别用法&#xff0c;将这两者结合即是从摄像头中识别人脸。本文测试测试C#调用OpenCvSharp和ViewFaceCore从摄像头中识别人脸&#xff0c;并进行人脸红框标记。   新建Winform项目&#xf…

浅谈拨测在网络安全中的应用

在当今数字化时代&#xff0c;网络安全成为各个行业和组织关注的焦点。为了保障网络的稳定性和信息的安全&#xff0c;拨测安全性成为一种日益重要的工具。本文将介绍拨测在网络安全中的应用&#xff1a; 1.威胁模拟 通过威胁模拟&#xff0c;拨测安全性可以模拟各种网络攻击&a…

JVM之java内存区域[2](堆、方法区、直接内存)

文章目录 版权声明一 堆1.1 java堆1.2 模拟堆区的溢出1.3 arthas中堆内存相关的功能1.4 设置大小 二 方法区2.1 方法区简介2.2 补充&#xff1a;字符串常量池和运行时常量池2.3 方法区的大小设计2.4 arthas中查看方法区2.5 模拟方法区的溢出2.7 StringTable的练习题 三 神奇的i…

虚拟机connect: Network is unreachable 无法联网【已解决】

问题&#xff1a; 虚拟机无法联网&#xff0c;ping不通 [artlylocalhost ~]$ ping 192.168.100.15 connect: Network is unreachable 同时&#xff0c;我的端口没有ens33。 [artlylocalhost ~]$ ifconfig lo: flags73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127…

【工具】SageMath|Ubuntu 22 下 SageMath 极速安装 (2024年)

就一个终端就能运行的东西&#xff0c; 网上写教程写那么长&#xff0c; 稍微短点的要么是没链接只有截图、要么是链接给的不到位&#xff0c; 就这&#xff0c;不是耽误生命吗。 废话就到这里。 文章目录 链接步骤 链接 参考&#xff1a; Install SageMath in Ubuntu 22.04We…

x-cmd pkg | speedtest-cli - 网络速度测试工具

目录 简介首次用户功能特点竞品和相关作品进一步探索 简介 speedtest-cli 是一个网络速度测试工具&#xff0c;用于测试计算机或服务器与速度测试服务器之间的网络连接速度。 它使用 speedtest.net 测试互联网带宽&#xff0c;可以帮助用户获取网络的上传和下载速度、延迟等参…

PgSQL - 17新特性 - 块级别增量备份

PgSQL - 17新特性 - 块级别增量备份 PgSQL可通过pg_basebackup进行全量备份。在构建复制关系时&#xff0c;创建备机时需要通过pg_basebackup全量拉取一个备份&#xff0c;形成一个mirror。但很多场景下&#xff0c;我们往往不需要进行全量备份/恢复&#xff0c;数据量特别大的…

[设计模式Java实现附plantuml源码~创建型] 对象的克隆~原型模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

P4学习(六)实验三:a Control Plane using P4Runtime

目录 一. 实验目的二.阅读MyController.py文件1.导入P4Runtime的库2.main部分1. P4InfoHelper 实例化2. 创建交换机连接3. 设置主控制器4. 安装 P4 程序5. 写入隧道规则6. 读取表项和计数器&#xff08;注释掉的部分&#xff09;7. 定时打印隧道计数器8. 异常处理9. 关闭交换机…

Sqoop与Flume的集成:实时数据采集

将Sqoop与Flume集成是实现实时数据采集和传输的重要步骤之一。Sqoop用于将数据从关系型数据库导入到Hadoop生态系统中&#xff0c;而Flume用于数据流的实时采集、传输和处理。本文将深入探讨如何使用Sqoop与Flume集成&#xff0c;提供详细的步骤、示例代码和最佳实践&#xff0…

ThreeJS部件装配

1 父物体数据 父物体首先几何中心归于原点&#xff0c;然后测量出装配点1&#xff0c;其数据为&#xff08;0.15&#xff0c;0.00&#xff0c;0.168&#xff09;&#xff1b; //父物体添加连接group为孩子 ParentObj.add(ParentLinkChildGroup); //设置连接group的位置&…

【上分日记】第381场周赛(差分 + 分类讨论)

前言 这次博主做了三道题&#xff0c;算是第一次&#xff0c;看来是题出的简单了&#xff08;hhh&#xff0c;小白勿喷&#xff09;&#xff0c;不过还是有不错的进步&#xff0c;继续加油&#xff0c;这次最后一题分类讨论也是挺让人头疼的&#xff0c;下面我们好好总结一下。…

RPC和HTTP,它们之间到底啥关系

既然有 HTTP 请求&#xff0c;为什么还要用 RPC 调用&#xff1f; gPRC 为什么使用 HTTP/2 Spring Cloud 默认是微服务通过Restful API来进行互相调用各自微服务的方法&#xff0c;同时也支持集成第三方RPC框架&#xff08;这里的说的RPC是特指在一个应用中调用另一个应用的接…