【发布时间】:2016-06-12 19:36:29
【问题描述】:
我必须创建一个目录,然后在该目录中创建一个名称来自参数的文本文件。例如。 _year 是一个参数,我试过:
var _root = "C:\\Users\\~\\DirichletProcessClustering\\Results";
var _clusterFilename = _year.ToString() + "cluster.txt";
var _path = Path.Combine(_root, _year.ToString(), _clusterFilename);
if(!Directory.Exists(_path))
{
Directory.CreateDirectory(_path);
}
// output topk file
TextWriter _twClus = File.CreateText(_path);
foreach (// loop )
{
_twClus.WriteLine("Cluster");
//... rest of the implementation...
}
此代码在指定路径创建一个名为 2005 的文件夹,然后在此文件夹内,还有另一个名为 2005cluster.txt 的文件夹,而我想在文件夹 2005 内创建一个名为 2005cluster.txt 的文本文件。
- 我在创建正确的文件夹和文件名时哪里出错了?
- 在下面提到的行生成 UnauthorizedAccessException 代码,即访问被拒绝。为什么会这样?
TextWriter _twClus = File.CreateText(_path);
【问题讨论】:
-
所以您要做的就是创建一个目录,然后在您刚刚创建的目录中创建一个文件?
-
是的,但是带有年份名称和文件的目录也带有年份名称加上“集群”,例如
2005\2005cluster.txt其中 2005 是目录,2005cluster.txt 是文件 -
那么您是从 Windows 获取当前年份,还是允许用户传入?
-
是的,它是一个接受
_year作为参数的方法
标签: c# directory filenames unauthorizedaccessexcepti