zoukankan      html  css  js  c++  java
  • C#常用IO操作

    文件夹

    创建文件夹

    //如果文件夹路径不存在则创建文件夹
    if (!Directory.Exists(path))
        Directory.CreateDirectory(path);

    递归创建文件夹

            public void createdir(string fullpath)
            {
                if (!File.Exists(fullpath))
                {
                    string dirpath = fullpath.Substring(0, fullpath.LastIndexOf('\'));
                    //string[] pathes = dirpath.Split('\');
                    string[] pathes = fullpath.Split('\');
                    if (pathes.Length > 1)
                    {
                        string path = pathes[0];
                        for (int i = 1; i < pathes.Length; i++)
                        {
                            path += "\" + pathes[i];
                            //如果文件夹路径不存在则创建文件夹
                            if (!Directory.Exists(path))
                                Directory.CreateDirectory(path);
                        }
                    }
                }
            }
    View Code

    删除整个文件夹

    Directory.Delete(path, true)

     获取目录下的文件(夹)

                var list = new string []{ };
                string path = @"D:公司SVN";
                //获取路径下所有文件
                list = Directory.GetFiles(path);
                //获取路径下所有文件夹
                list = Directory.GetDirectories(path);
                //获取路径下所有文件+文件夹
                list = Directory.GetFileSystemEntries(path);
                //获取路径下所有文件(包含子集文件)
                list = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
                //获取路径下所有文件夹(包含子集文件夹)
                list = Directory.GetDirectories(path, "*.*", SearchOption.AllDirectories);
                //获取路径下所有文件+文件夹(包含子集文件+子集文件夹)
                list = Directory.GetFileSystemEntries(path, "*.*", SearchOption.AllDirectories);

    文件

    创建文件

                //path是完整路径,要包含文件的后缀名
                string path = @"C:1.txt";
                //判断文件是否存在,不存在就创建
                if (!File.Exists(path))
                {
    
                    //创建一个 UTF-8 编码text文件
                    File.CreateText(path);
    
    
                    //创建一个文件
                    //File.Create(path);
                }

     写入文件

    using System.IO;
    
    namespace ConsoleApp2
    {
        class Program
        {
            static void Main(string[] args)
            {
                //写入文本,不是追加,是清空在写入
                string path = @"C:1.txt";
                string[] lines = { "First line", "Second line", "Third line" };
                File.WriteAllLines(path, lines);
                File.WriteAllText(path, "AAAAAAAAAAAAAAAA");
    
                //追加写入文本
                using (StreamWriter sw = new StreamWriter(path, true))
                {
                    sw.WriteLine("Fourth line");
                }
                using (StreamWriter sw = File.AppendText(path))
                {
                    sw.Write(12345);
                }
    
            }
        }
    }

    文件流读写

            public Stream FileToStream(string fileFullName)
            {
                using (FileStream fs = new FileStream(fileFullName, FileMode.OpenOrCreate))
                {
                    byte[] bytes = new byte[fs.Length];
                    fs.Read(bytes, 0, bytes.Length);
                    fs.Close();
                    return new MemoryStream(bytes);
                }
            }
    
            public void WriteFile(string fileFullName, byte[] bytes)
            {
                if (bytes == null)
                    return;
                using (FileStream fs = new FileStream(fileFullName, FileMode.OpenOrCreate))
                {
                    fs.Write(bytes, 0, bytes.Length);
                    fs.Close();
                }
    
                #region 第二种
                /*
                    using (MemoryStream m = new MemoryStream(bytes))
                    using (FileStream fs = new FileStream(fileFullName, FileMode.OpenOrCreate))
                    {
                        m.WriteTo(fs);
                    }
                 */
                #endregion
    
            }

    Stream 和 byte[] 互转

            /// <summary>
            /// 将 Stream 转成 byte[]
            /// </summary>
            /// <param name="bytes"></param>
            /// <returns></returns>
            public byte[] StreamToBytes(Stream stream)
            {
                byte[] bytes = new byte[stream.Length];
                stream.Read(bytes, 0, bytes.Length);
                stream.Seek(0, SeekOrigin.Begin);
                stream.Flush();
                stream.Close();
                return bytes;
    
            }
    
            /// <summary>
            /// 将 byte[] 转成 Stream
            /// </summary>
            /// <param name="bytes"></param>
            /// <returns></returns>
            public Stream BytesToStream(byte[] bytes)
            {
                return new MemoryStream(bytes);
            }
  • 相关阅读:
    Web Storage中的sessionStorage和localStorage
    Javascrip获取页面URL信息
    SqlServer 查看备份文件中逻辑文件信息的Sql语句
    实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值
    实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据
    实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
    实用ExtJS教程100例-008:使用iframe填充ExtJS Window组件
    实用ExtJS教程100例-007:ExtJS中Window组件最小化
    实用ExtJS教程100例-006:ExtJS中Window的用法示例
    实用ExtJS教程100例-005:自定义对话框Ext.MessageBox.show
  • 原文地址:https://www.cnblogs.com/RainFate/p/12090798.html
Copyright © 2011-2022 走看看