c# 创建文件时怎么创建文件夹?
strhtml=......
StreamWriter sw=new StreamWriter("D:/test/1.aspx",false);
sw.Write(strhtml);

如上代码,如果test文件夹不存在就会报错,需要先创建test文件夹才会正常产生1.aspx文件,问题:如何动态的自动创建文件夹呢?就是说一个路径,如果有文件夹不存在,就自动创建该文件夹,该如何做?

------解决方案--------------------
Directory.CreateDirectory(filename); 
------解决方案--------------------
先分离出文件夹路径,Directory.CreateDirectory创建 
------解决方案--------------------

C# code
FileInfo fi = new FileInfo("D:/test/1.aspx");
var di = fi.Directory;
if (!di.Exists)
di.Create();

------解决方案--------------------
public static void Write(string txt,string path,string filename)
{
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
StreamWriter sw = new StreamWriter(path, false);
sw.Write(txt);
}

------解决方案--------------------
/// <summary>
/// 创建文件夹
/// </summary>
/// <param name="FileUrl">路径</param>
public static void CreateFile(string FileUrl)
{
Directory.CreateDirectory(FileUrl);
}
/// <summary>
/// 创建子文件
/// </summary>
/// <param name="FileUrl">路径</param>
/// <param name="matter">内容</param>
public static void CreateTxt(string FileUrl, string matter)
{
//if (!File.Exists(url)) { }
FileStream fs = new FileStream(FileUrl, FileMode.Create, FileAccess.Write);//创建写入文件 
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(matter);//开始写入值
sw.Close();
fs.Close();
}

------解决方案--------------------
C# code
string directoryPath = @"D:\test";//定义一个路径变量
string filePath = "1.txt";//定义一个文件路径变量
if (!Directory.Exists(directoryPath))//如果路径不存在
{
Directory.CreateDirectory(directoryPath);//创建一个路径的文件夹
}
StreamWriter sw = new StreamWriter(Path.Combine(directoryPath, filePath));
sw.Write("test");
sw.Flush();
sw.Close();

------解决方案--------------------
C# code
//以下代码实现了创建文件夹
if (!Directory.Exists(sPath))
{
Directory.CreateDirectory(sPath);
}

------解决方案--------------------
这个上面都回答了

------解决方案--------------------
上面都答完了,反正创建文件时,先用代码判断文件夹存不存在,不存在就先建文件夹,再建文件。

------解决方案--------------------
string directoryPath = @"D:\test";//定义一个路径变量
string filePath = "1.txt";//定义一个文件路径变量
if (!Directory.Exists(directoryPath))//如果路径不存在
{
Directory.CreateDirectory(directoryPath);//创建一个路径的文件夹
}
StreamWriter sw = new StreamWriter(Path.Combine(directoryPath, filePath));
sw.Write("test");
sw.Flush();
sw.Close(); ------解决方案--------------------
string path = Server.MapPath("~/UpLoadFiles/MyFile/"); if (!Directory.Exists(path))
{
//创建文件夹 Directory.CreateDirectory(path);

------解决方案--------------------
我跟上面的想法是差不多的 
------解决方案--------------------
string directoryPath = @"D:\test";//定义一个路径变量
string filePath = "1.txt";//定义一个文件路径变量
if (!Directory.Exists(directoryPath))//如果路径不存在
{
Directory.CreateDirectory(directoryPath);//创建一个路径的文件夹
}
StreamWriter sw = new StreamWriter(Path.Combine(directoryPath, filePath));
sw.Write("test");
sw.Flush();
sw.Close();

C# 创建文件时,文件夹不存在,如何自动创建文件夹的更多相关文章

  1. allegro生成光绘文件时,通过cam打开,*.drl钻孔文件不识别,为Unknow类型

    生成钻孔文件时,NC_Parameters中,应该选Absolute

  2. 用file上传文件时,浏览器返回值总是自动添加<pre>的解决办法

    在返回的JSon字符串里面总是莫名其妙的添加了<pre>标签,例如返回内容为"ok",在浏览器里面就变成了"<pre style="word- ...

  3. 013_使用 user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码

    for i in `cat user.txt`do    useradd $i    echo "123456" | passwd --stdin $idone

  4. ssh密钥创建分发(端口号非22)&脚本实现自动创建分发密钥

    1.1 服务端端口号变化了,如何基于秘钥连接 1.1.1 环境准备 实验环境: [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (F ...

  5. 外部调用JS文件时出现中文乱码的解决办法

    若测试网页的编码格式为:gb2312,而调用外部JS文件时出现了乱码(前提是JS文件无错误),则将调用的外部JS文件用记事本打开,然后再保存成编码格式为UTF-8的JS文件即可. 若测试网页的编码格式 ...

  6. sublime打开文件时自动生成并打开.dump文件

    GBK Encoding Support 没有安装前打开ASNI格式编码文件会乱码,安装成功重启则可以打开正常 关于.dump文件生成的解释: 当打开一个非utf-8格式且包含汉字的文件时,subli ...

  7. Asp.net 4.0,首次请求目录下的文件时响应很慢

    原文:Asp.net 4.0,首次请求目录下的文件时响应很慢 1. 问题起因2. 尝试过的处理思路3. 解决方法 1. 问题起因 一个从VS2003(.Net Framework 1.1)升级到.ne ...

  8. JS在生成csv文件时,","逗号问题处理.

    在生成csv文件时,发现一个问题,因为csv文件本身是依靠逗号进行分列的,所以内容中有逗号时也被强制分列了,处理方法很简单,为内容加上双引号(英文格式)就可以了. 如: "11111,222 ...

  9. oracle导入dmp文件时出现异常

    oracle导入dmp文件时出现错误 今天在给oracle导入dmp文件时老是出现错误,无论是命令行或PL/SQL,错误截图如下: 经查是导入用户的权限不足,导入用户并没有DBA权限,而导出的dmp文 ...

随机推荐

  1. RNTools

    在使用RNTools的自定义功能加载bundle的时候, 记得要把 http:// 加上,否则加载bundle会找不到网络地址.

  2. 8种排序算法的C#实现

    排序是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列.排序根据涉及的存储器的不同分为内部排序和外部排序:内部排序是指待排序记录存放在内存进行的排序过程:外部排序是指待排序记录的数 ...

  3. bat文件自动编译InnoSetup脚本

    今天想制作一个bat文件,打包多个innosetup脚本,参考链接:http://www.cnblogs.com/joean/p/4870428.html 流程: 新建文本文档,将.txt改为.bat ...

  4. 不要伤害指针(1)--运算符&和*

    原文转载地址:http://blog.csdn.net/sunchaoenter/article/details/6646001 增加自己的想法,作为笔记. 这里&是取地址运算符,*是间接运算 ...

  5. leetcode Jump Game II python

    @link http://www.cnblogs.com/zuoyuan/p/3781953.htmlGiven an array of non-negative integers, you are ...

  6. 21个值得收藏的Javascript技巧

    1  Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如 ...

  7. ie6,ie7,ie8 css bug汇总以及兼容解决方法

    1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...

  8. web前端-html学习笔记

    学习html最重要的是坚持.细心.多动手.慕课网<HTML+CSS基础课程>的笔记. 1.<h1>网站标题</h1> 如:<h1>腾讯网</h1& ...

  9. 密码学——网间数据加密传输全流程(SSL加密原理)

    0.导言 昨天写了一篇关于<秘钥与公钥>的文章,写的比较简单好理解,有点儿像过家家,如果详细探究起来会有不少出入,今天就来详细的说明一下数据加密的原理和过程.这个原理就是大名鼎鼎SSL的加 ...

  10. Arduino当avr开发板

    原理并不复杂,因为arduino本来就是avr+一堆的库,找个能编译出hex的工具下载到板子就行. 但实际做起来还是碰到很多问题. 先是尝试eclipse+avr plugin 编译时出现make: ...