C#-IO读写
2022/8/14 1:53:25
本文主要是介绍C#-IO读写,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文件夹/文件 的创建和删除
// 创建一个文件夹 Directory.CreateDirectory(@"E:\Test"); // 删除指定文件夹(当前文件夹必须为空) Directory.Delete(@"E:\Test"); // 删除指定文件夹(即使要删除的文件夹不为空,也会删除) Directory.Delete(@"E:\Test", true); // 获取文件夹下的文件 Directory.GetFiles(@"E:\Test"); // 获得文件夹下的文件夹 Directory.GetDirectories(@"E:\Test"); // 获得文件夹下的所有文件夹,包含子文件夹的文件夹 Directory.GetDirectories(@"E:\Test", "*.*", SearchOption.AllDirectories); // 获得文件夹下的所有文件,包含子文件下的文件 Directory.GetFiles(@"E:\Test","*.*",SearchOption.AllDirectories); // 创建文件 File.Create(@"E:\Test\Text.txt"); // 删除文件 File.Delete(@"E:\Test\Text.txt"); // 获取文件夹信息,当前文件夹的信息都保存在Info中 DirectoryInfo info = new DirectoryInfo(@"E:\Test"); // 获得文件信息,当前文件的信息都保存在file中 FileInfo file = new FileInfo(@"E:\Test\Text.txt");
字节数组和字符串之间的转换
string str = "Hello World"; // 将字符串转换成字节数组 byte[] byteList = System.Text.Encoding.UTF8.GetBytes(str); // 将字节数组转换成字符串 string str2 = System.Text.Encoding.UTF8.GetString(byteList);
文件的读写
方法一:注意需要手动将字节流断开
// 创建一个文件夹 Directory.CreateDirectory(@"E:\Test"); // 创建一个文本,并返回一个字节流方便将文本写入 FileStream fs = File.Create(@"E:\Test\Test.txt"); // 要写入的字符串 string str = "Hello World"; // 将字符串转换成计算机能够识别的字节数组 byte[] byteList = System.Text.Encoding.UTF8.GetBytes(str); // 将字节数组写入字节流中(写入的字节流,从什么开始,到什么结束); fs.Write(byteList,0,byteList.Length); // 将字节流断开 fs.Close(); // 获得指定路径的文件流 FileStream fw = new FileStream(@"E:\Test\Test.txt",FileMode.OpenOrCreate); // 创建一个数据缓冲区,用于存放从文件中获得的字节数据(必须要比读取的文件大,但不能太大浪费性能,酌情处理); byte[] byteList2 = new byte[1024]; // 通过文件流进行读取 fw.Read(byteList2,0,byteList2.Length); // 将字节数组转换成字符串 string str2 = System.Text.Encoding.UTF8.GetString(byteList2);
方法二:using执行完毕字节流将会自动断开,无需手动操作
// 创建一个文件夹 Directory.CreateDirectory(@"E:\Test"); // 创建一个文本,并返回一个字节流方便将文本写入 using (FileStream fs = File.Create(@"E:\Test\Test.txt")) { // 要写入的字符串 string str = "Hello World"; // 将字符串转换成计算机能够识别的字节数组 byte[] byteList = System.Text.Encoding.UTF8.GetBytes(str); // 将字节数组写入字节流中(写入的字节流,从什么开始,到什么结束); fs.Write(byteList, 0, byteList.Length); } // 创建一个文件流用于已有文件中内容的追加 using (FileStream fs = new FileStream(@"E:\Test\Test.txt", FileMode.Append)) { // 要写入的字符串 string str = "Hello World"; // 将字符串转换成计算机能够识别的字节数组 byte[] byteList = System.Text.Encoding.UTF8.GetBytes(str); // 将字节数组写入字节流中(写入的字节流,从什么开始,到什么结束); fs.Write(byteList, 0, byteList.Length); } // 获得指定路径的文件流 using (FileStream fw = new FileStream(@"E:\Test\Test.txt", FileMode.OpenOrCreate)) { // 创建一个数据缓冲区,用于存放从文件中获得的字节数据(必须要比读取的文件大,但不能太大浪费性能,酌情处理); byte[] byteList2 = new byte[1024]; // 通过文件流进行读取 fw.Read(byteList2, 0, byteList2.Length); // 将字节数组转换成字符串 string str2 = System.Text.Encoding.UTF8.GetString(byteList2); }
方法三:不通过文件流直接向文件中写文本(直接对其原文本进行覆盖)
// 直接向文件中写文本 File.WriteAllText(@"E:\Test\Test.txt","AAAAAAAA"); // 将文本转换成字节数组并直接写入文件 string str3 = "BBBBB"; byte[] byteList3 = System.Text.Encoding.UTF8.GetBytes(str3); File.WriteAllBytes(@"E:\Test\Test.txt",byteList3); // 读取文件中的文本 File.ReadAllText(@"E:\Test\Test.txt"); // 通过字节流读取文件中的文本(有时文本中存储的不是字符串格式) byte[]byteList4 = File.ReadAllBytes(@"E:\Test\Test.txt");
这篇关于C#-IO读写的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具