如何在C#中正确提供路径

时间:2016-10-07 12:43:44

标签: c#

我的项目中有一个名为Export的文件夹,我使用以下代码将文件保存到该文件夹​​:

BrokerService broker = new BrokerService();
broker.addConnector("tcp://localhost:61616");
broker.addNetworkConnector("static:(tcp://localhost:61616)");
broker.start();

但是当其他人使用这个代码时,他们会抱怨他们没有这条路。我如何提供我的代码的路径,以便它可以在任何地方工作?感谢。

2 个答案:

答案 0 :(得分:2)

选项1:使用<?php class homemodel extends CI model { function __construct() { parent::__construct(); } public function fetchData() { $query=$this->db->select('*'); $this->db->from('display'); $query = $this->db->get(); return $query->result(); } } ?> 获取特殊文件夹的物理位置。有关可能的特殊文件夹的概述,请参阅here

例如,如果您想将文档放在“我的文档”文件夹中,那么Environment.SpecialFolder会为您提供当前计算机上我的文档文件夹的位置。

代码:

Environment.SpecialFolder.MyDocuments

这样您就可以确保始终拥有正确的位置。如果需要,您可以随时使用var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 创建导出文件夹到此特殊文件夹中(如果它尚不存在)。

选项2:当然,如果您不想使用预定义位置,您可以随时向用户询问位置,例如使用SaveFileDialog

答案 1 :(得分:0)

在MyDocuments中创建“导出”文件夹,然后将文件保存到该目录。正如许多其他人所指出的那样。您需要保存到目录,执行用户具有访问权限。

string documentFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), @"Export");

if (!Directory.Exists(documentFolder))
{
   Directory.CreateDirectory(documentFolder);
}

document.Save(Path.Combine(documentFolder, "mydocument.pdf"));