0

我正在开发 ac# 应用程序,它在 app.config 中有一个文件路径,如果它存在/不存在,我想创建或覆盖它。

例子:<add key="file" value="c:\myapp\file.txt"/>

我在创建目录/文件组合时遇到问题。

有人可以给我代码示例,说明如何创建包括空文本文件的整个文件夹路径

4

3 回答 3

5

您可能希望创建文件夹,之后您可以使用FileStream编写文件。

我有一个方便的功能,可以在写入可能不存在的目录中的文件之前创建目录。

/// <summary>
/// Create the folder if not existing for a full file name
/// </summary>
/// <param name="filename">full path of the file</param>
public static void CreateFolderIfNeeded(string filename) {
  string folder = System.IO.Path.GetDirectoryName(filename);
  System.IO.Directory.CreateDirectory(folder);
}
于 2012-11-21T21:52:05.457 回答
2

你的问题不是很清楚,但我假设你想做这样的事情

using System.IO;
...

string path = ConfigurationManager.AppSettings["FolderPath"];
string fullPath = Path.Combine(path, "filename.txt");

if(!Directory.Exists(path))
{
   Directory.CreateDirectory(path);
}

using(StreamWriter wr = new StreamWriter(fullPath, FileMode.Create))
{

}
于 2012-11-21T21:54:18.450 回答
0

详细信息:将目录路径和文件放在两个不同的键中以使其更容易

应用程序配置

<add key="filePath" value="c:\myapp\"/>
<add key="fileName" value="file.txt"/>


班级

string path = ConfigurationManager.AppSettings["filePath"];
string fileName = ConfigurationManager.AppSettings["fileName"];
string currentPathAndFile = path + fileName;

 if (!File.Exists(currentPathAndFile)) // Does the File and Path exist
 {
    if (!Directory.Exists(path))  // Does the directory exist
      Directory.CreateDirectory(path);

     // Create a file to write to. 
     using (StreamWriter sw = File.CreateText(currentPathAndFile)) 
     {
         sw.WriteLine("Hello");
         sw.WriteLine("And");
         sw.WriteLine("Welcome");
     }  
  }
于 2012-11-21T21:52:16.003 回答