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#新功能--命名参数
    初识SqlLite ---.net连接数据库
    混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...
    看到他我一下子就悟了-- 泛型(2)
    ExtJS4中设置tabpanel的tab高度问题
    java学习1-环境搭建
    oracle获取clob调优
    oracle job定时执行存储过程
    【转】【真正福利】成为专业程序员路上用到的各种优秀资料、神器及框架
  • 原文地址:https://www.cnblogs.com/grj001/p/12225318.html
Copyright © 2011-2022 走看看