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);

        }

    }

}

posted @ 2019-05-27 16:20  grj001  阅读(279)  评论(0编辑  收藏  举报