【问题标题】:Saving a file in a specified folder inside my project将文件保存在我的项目中的指定文件夹中
【发布时间】:2013-01-25 03:25:15
【问题描述】:

我正在创建一个 Xml 文件,我想将它保存在解决方案中我的项目内的指定文件夹中,我可以在解决方案资源管理器中访问它。

如何指定路径以便创建文件夹并将 xml 文件保存在其中?

目前它在我的项目的根目录中创建文件,我无法在解决方案资源管理器中查看它。

 XmlSerializer serializer = new XmlSerializer(typeof(BoxSet));
 TextWriter textWriter = new StreamWriter("../../Box.xml");

对不起,我还是个新手……我错过了什么吗?

【问题讨论】:

  • 解决方案资源管理器中显示的是项目中包含的内容,不一定显示所有文件。如果您为 Web 开发,您可以尝试使用 Server.MapPath 来访问所需的目录。
  • 参考这个帖子,有多种解决方案,stackoverflow.com/questions/816566/…
  • 什么样的解决方案使用这个xml文件?(winform or WPF or Asp.net)
  • 您需要在 Sln Explorer iirc 中手动包含文件。

标签: c# file-io


【解决方案1】:

您可以这样做,而不是使用AppDomain.CurrentDomain.BaseDirectory

    TextWriter textWriter = new StreamWriter("foldername\\Box.xml");

当您不添加任何内容时,会自动假定基本目录。

【讨论】:

    【解决方案2】:

    您可以在声明新的 StreamWriter 时指定路径。

    TextWriter textWriter = new StreamWriter("../../Box.xml");
    

    这归结为:

    • ../ - 上一级目录
    • ../ - 上一级目录
    • Box.xml 文件在这里

    因此,当您希望在根文件夹内的文件夹中创建文件时,您可以使用:

    • "../文件夹名/Box.xml"

    但如果您不想依赖当前文件位置,您也可以使用:

    AppDomain.CurrentDomain.BaseDirectory
    

    那就是:

    var path = String.Format("{0}foldername\Box.xml", AppDomain.CurrentDomain.BaseDirectory);
    TextWriter textWriter = new StreamWriter(path);
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 2021-05-27
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多