IOSerialize


命名空间: System.IO

一、操作文件夹

1、文件夹工具包

  • Directory类,里面都是静态方法
Directory.Exists("路径")//检测文件夹是否存在
Directory.Move("原路径","替换路径");//替换
Directory.Delete("路径");//删除

2、文件夹对象

  • DirectoryInfo类
  • 创建文件夹(一次性创建所有子路径)
DirectoryInfo directoryInfo = Directory.CreateDirectory("路径");

二、操作文件

代码:

using System;
using System.IO;
using System.Text;

namespace IOSerialize
{
    class Program
    {
        static void Main(string[] args)
        {
            string filePath = @"E:\编程\.Net Core\IOSerialize\IOSerialize\Log\log.txt";
            string path = @"E:\编程\.Net Core\IOSerialize\IOSerialize\Log";
            if (!File.Exists(filePath))
            {
                Directory.CreateDirectory(path);//创建文件夹
                /*第一种方法*/
                using(FileStream fileStream = File.Create(filePath))//创建文件,并打开文件流
                {
                    string name = "111111222222111***********";
                    byte[] bytes = Encoding.Default.GetBytes(name);
                    fileStream.Write(bytes, 0, bytes.Length);//写数据
                    fileStream.Flush();//释放资源
                }
                /*第二种方法*/
                using (FileStream fileStream = File.Create(filePath))//创建文件,并打开文件流
                {
                    StreamWriter sw = new StreamWriter(fileStream);
                    sw.WriteLine("1231231235555");
                    sw.Flush();
                }
                /*续写一*/
                using(StreamWriter sw  = File.AppendText(filePath))
                {
                    string msg = "续写内容:))))**&&………………";
                    sw.WriteLine(msg);
                    sw.Flush();
                }
                /*续写二*/
                using (StreamWriter sw = File.AppendText(filePath))
                {
                    string msg = "续写内容2:222222222222222222222";
                    byte[] bytes = Encoding.Default.GetBytes(msg);
                    sw.BaseStream.Write(bytes, 0, bytes.Length);
                    sw.Flush();
                }
                /*读取一*/
                foreach(string result in File.ReadAllLines(filePath))//按行全部读取
                {
                    Console.WriteLine(result);
                }
                /*读取二*/
                string sResult = File.ReadAllText(filePath);//全部读取
                /*读取三*/
                Byte[] bytecontent = File.ReadAllBytes(filePath);//按字节全部读取
                string sResultByte = Encoding.UTF8.GetString(bytecontent);
                /*上面的方法都是一次性全部读取出来加载到内存,如果文件很大执行会失败。
                 下面是大文件的读取方法*/
                 using(FileStream stream = File.OpenRead(filePath))
                 {
                    int length = 5;
                    int result = 0;
                    do
                    {
                        //每次读5个字节进行操作
                        byte[] bytes = new byte[length];
                        result = stream.Read(bytes, 0, 5);
                        for (int i = 0; i < result; i++)
                        {
                            Console.WriteLine(bytes[i].ToString());
                        }
                    }
                    while (length == result);
                 }

                /*文件操作*/
                File.Copy("路径", "复制到路径");//复制
                File.Move("原路径", "移动到路径");//移动(原文件会消失)
                File.Delete("路径"); //删除
            }
        }
    }
}

三、C#提供了盘符的操作类

DriveInfo

四、序列化器

二进制序列化器

BinaryFormatter

SOAP序列化器

SoapFormatter

XML序列化器

XmlFormatter

JSON序列化器

JaveScriptSerializer
JsonConvert

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菩提树下敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值