在我的项目中将文件保存到指定文件夹

6

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

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

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

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

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


解决方案资源管理器中显示的是项目包含的内容,不一定显示所有文件。如果您正在开发 Web 应用程序,可以尝试使用 Server.MapPath 来访问所需目录。 - reinder
请参考此线程,它有多个解决方案,https://dev59.com/E3RA5IYBdhLWcg3wzhbZ - Random IT Guy
这个 XML 文件使用什么样的解决方案?(WinForm、WPF 还是 Asp.net) - mas_oz2k1
你需要手动在Sln Explorer中包含文件,如果我没记错的话。 - It'sNotALie.
2个回答

16

当您声明新的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);
希望这有所帮助。

如何从该文件夹中检索以后保存的文件? - Zaveed Abbasi

1

不必使用 AppDomain.CurrentDomain.BaseDirectory,你可以这样做:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接