C#创建文件夹以及文件

目的:使用C#语言在“C:\Users\Confidence\Testing\”目录下创建新的文件夹以及文本文件(其他类型文件同理)。

环境:Visual Studio 2019,Windows。

代码如下:

        /// <summary>
        /// 
        /// Create new directory and file if they are not exist
        /// 
        /// </summary>
        /// <param name="directoryName"></param>
        /// <param name="fileName"></param>
        #region
        public static void CreateDirectoryOrFile(string newDirectoryName, string newFileName)
        {
            string path = "C:\\Users\\Confidence\\Testing\\";
            if (!Directory.Exists(path + newDirectoryName))
            {
                Directory.CreateDirectory(path + newDirectoryName);
                if(!File.Exists(path + newDirectoryName + "\\"))
                {
                    File.Create(path + newDirectoryName + "\\" + newFileName).Close();
                }
            }
        }
        #endregion

问题:在判断文件是否存在时如果不指定创建的绝对路径,则系统默认会在创建的该项目的"bin\Debug"目录下创建文件。

除此方法之外,也可以用其他方法获取到新建的文件夹的路径,然后在该文件夹下创建方法,本文暂只提供上述方法,见谅。

直接调用方法即可:

static void Main(string[] args)
        {
            Console.WriteLine("*************************************************");
            string newDirectoryName = Console.ReadLine(); //读入文件夹名称并赋值
            Console.WriteLine("-------------------------------------------------");
            string newFileName = Console.ReadLine(); //读入文件名称并赋值(包含后缀名)
            CreateDirectoryOrFile(newDirectoryName, newFileName);
            //Console.Read();
        }

==============================================
2020.12.03
更新:用户输入路径:
-------本方法只考虑输入的路径合法的情况,其他情况自行添加------

static void Main(string[] args)
        {
            Console.WriteLine("Input a directory name:");
            string newDirectoryName = Console.ReadLine();
            Console.WriteLine("Input a file name with suffix:");
            string newFileName = Console.ReadLine();
            Console.WriteLine("Input a path end with (\):");
            string newPath = Console.ReadLine();
            CreateDirectoryOrFile(newDirectoryName, newFileName, newPath);
        }
        public static void CreateDirectoryOrFile(string newDirectoryName, string newFileName, string newPath)
        {
            if (!newPath.Contains("\t\t"))
            {
                newPath = @"C:\Users\Desktop\";
                if (!Directory.Exists(newPath + newDirectoryName))
                {
                    Directory.CreateDirectory(newPath + newDirectoryName);
                    if (!File.Exists(newPath + newDirectoryName + "\\" + newFileName))
                    {
                        File.Create(newPath + newDirectoryName + "\\" + newFileName).Close();
                    }
                }
            }
        }

之所以采用Contains("\t\t")是因为ReadLine本身会返回一个回车键,不输入路径名的话也需要使用回车键。

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值