zoukankan      html  css  js  c++  java
  • C#IO创建文件夹

    C# 创建文件夹

    C#中对文件夹操作需要用到Directory Class。其中提供了创建、删除、移动、枚举等静态方法。该类不能被继承。

    以下代码实现了创建文件夹。

    1

    2

    3

    4

    if (!Directory.Exists(sPath))

    {

         Directory.CreateDirectory(sPath);

    }

     以下是MSDN上Directory Class的Sample code。

    http://msdn.microsoft.com/en-us/library/system.io.directory.aspx

    以下代码首先检查指定的文件夹是否存在,若存在则删除之,否则创建之。接下来移动文件夹,在其中创建文件并统计文件夹中文件数目。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    using System;

    using System.IO;

      

    class Test

    {

        public static void Main()

        {

            // Specify the directories you want to manipulate.

            string path = @"c:\MyDir";

            string target = @"c:\TestDir";

      

            try

            {

                // Determine whether the directory exists.

                if (!Directory.Exists(path))

                {

                    // Create the directory it does not exist.

                    Directory.CreateDirectory(path);

                }

      

                if (Directory.Exists(target))

                {

                    // Delete the target to ensure it is not there.

                    Directory.Delete(target, true);

                }

      

                // Move the directory.

                Directory.Move(path, target);

      

                // Create a file in the directory.

                File.CreateText(target + @"\myfile.txt");

      

                // Count the files in the target directory.

                Console.WriteLine("The number of files in {0} is {1}",

                    target, Directory.GetFiles(target).Length);

            }

            catch (Exception e)

            {

                Console.WriteLine("The process failed: {0}", e.ToString());

            }

            finally {}

        }

    }

    以下代码演示了如何计算文件夹大小。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    // The following example calculates the size of a directory

    // and its subdirectories, if any, and displays the total size

    // in bytes.

      

    using System;

    using System.IO;

      

    public class ShowDirSize

    {

        public static long DirSize(DirectoryInfo d)

        {  

            long Size = 0;  

            // Add file sizes.

            FileInfo[] fis = d.GetFiles();

            foreach (FileInfo fi in fis)

            {    

                Size += fi.Length;  

            }

            // Add subdirectory sizes.

            DirectoryInfo[] dis = d.GetDirectories();

            foreach (DirectoryInfo di in dis)

            {

                Size += DirSize(di); 

            }

            return(Size);

        }

        public static void Main(string[] args)

        {

            if (args.Length != 1)

            {

                Console.WriteLine("You must provide a directory argument at the command line.");  

            }

            else

            {

                DirectoryInfo d = new DirectoryInfo(args[0]);

                long dsize = DirSize(d);

                Console.WriteLine("The size of {0} and its subdirectories is {1} bytes.", d, dsize);

            }

        }

    }

  • 相关阅读:
    C#和C++除了语法上的差别外,还有什么其他的区别
    各种指针的的概览及造成原因
    批量操作Tomcat Shell脚本
    pi币pinetwork安装注册教程中文详细版【实操有效】
    Oracle分析函数
    Logger.Xml
    使用Redis / Zookeeper作为分布式锁的一些注意点
    Seata Server配置文件
    .gitignore忽略target无效
    MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读
  • 原文地址:https://www.cnblogs.com/grj001/p/12225317.html
Copyright © 2011-2022 走看看