app.configにファイルパスがあり、存在する/存在しない場合に作成または上書きしたいac#アプリケーションに取り組んでいます。
例:<add key="file" value="c:\myapp\file.txt"/>
ディレクトリとファイルの組み合わせの作成に問題があります。
空のテキストファイルを含むフォルダパス全体を作成する方法のコード例を教えてもらえますか?
app.configにファイルパスがあり、存在する/存在しない場合に作成または上書きしたいac#アプリケーションに取り組んでいます。
例:<add key="file" value="c:\myapp\file.txt"/>
ディレクトリとファイルの組み合わせの作成に問題があります。
空のテキストファイルを含むフォルダパス全体を作成する方法のコード例を教えてもらえますか?
おそらくフォルダの作成を検討している場合は、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);
}
あなたの質問ははっきりしていませんが、私はあなたがこのようなことをしたいと思っていると思います
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))
{
}
詳細:ディレクトリのパスとファイルを2つの異なるキーに入れて、簡単にします
App.Config
<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");
}
}