gpt4 book ai didi

c# - 如何使用相对路径使用 StreamWriter 创建文件?

转载 作者:太空狗 更新时间:2023-10-30 00:09:25 27 4
gpt4 key购买 nike

当我运行以下代码时,在 c:\temp正确创建了一个 XML 文件:

XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<Models.Customer>));
using (StreamWriter wr = new StreamWriter("C:/temp/CustomerMock2.xml"))
{
xs.Serialize(wr, CustomerList);
}

但是,我实际上希望在项目下的子目录中创建它,但是当我这样做时:

using (StreamWriter wr = new StreamWriter("Data/CustomerMock2.xml"))

它就像写入它一样,但该文件从未出现在该目录中:

C:\Projects\Prototype12\CustomersModul\bin\Debug\Data

如何使用 StreamWriter 在我的项目中创建一个具有相对路径的文件?

最佳答案

依赖“当前目录”概念总是危险的,因此您需要一个起点。在 WinForms 项目中,您可以使用

获取 .EXE 的位置
string exeFolder = System.IO.Path.GetDirectoryName(Application.ExecutablePath);

在 WPF 中会有类似的东西。

但是如果您在库中并且无权访问应用程序(或环境)对象,您应该考虑创建一个 BaseFolder 参数或属性以让主应用程序控制文件夹。

关于c# - 如何使用相对路径使用 StreamWriter 创建文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com