有没有一种方法可以写入同一文件夹中的多个文件?

时间:2019-06-26 15:03:57

标签: c#

我有两个包含相同文件的文件夹。我正在尝试从一个文件夹中的文件中读取内容,然后在另一个文件夹中使用相同名称写入文件。

我尝试了File.WriteAllText,但它给了我一个未处理的异常错误

  

System.IO.DirectoryNotFoundException:“找不到路径'C:\ Users \ test \ Desktop \'的一部分。”

public function addBlock(PageBlock $block) : void
{
    $block->setPage($this);
    $this->blocks->add($block);
}

public function removeBlock(PageBlock $block) : void
{
    $block->setPage(null);
    $this->blocks->remove($block);
} 

我要更改目录中的所有文件。

2 个答案:

答案 0 :(得分:4)

您忘记了包含目标文件的文件名。将最后一部分更改为:

var fi = new FileInfo(file);
File.WriteAllText(Path.Combine(targetDirectory, fi.Name), newFile.ToString());

这假定newFile.ToString()实际上是您想要的 目标文件中的内容:-)

答案 1 :(得分:0)

展开James answer,添加检查目录是否存在的检查可能会解决您的问题。

var fi = new FileInfo(file);
if(!fi.Directory.Exists)
     fi.Directory.Create()
File.WriteAllText(Path.Combine(targetDirectory, fi.Name), newFile.ToString());