2013-01-21 41 views
-2

我试图让处在位置获取位于不在项目路径下的文件/文件夹的完整路径

d文件/文件夹的FULLPATH:// //萨钦报告// excel.xls

,但是当我打电话Path.getfullpath("excel.xls")它返回我的位置

C:\用户\ Projname \ BIN \调试\等。

我需要的是路径,而不是它在项目中的位置,因为我需要在我的数据源连接字符串中提供此路径。

+0

你知道'工作目录'是什么意思吗?路径解析很重要。 –

+0

通常,为避免在应用程序代码中编写固定路径,连接字符串将存储在应用程序的配置文件中。这些字符串包含完整的信息以检索关联的文件或数据库。所以他们可以很容易地修改而不用改变程序。为什么需要构建完整路径来创建连接字符串? (System.IO.Path.GetExtension(“D:\\ UI_excel.xls”)。Equals(“.xls”)){strConnection =“provider = Microsoft.ACE.OLEDB.12.0; Data Source = D:\ – Steve

+0

\ UI_excel.xls;扩展属性= Excel 12.0;“; }我需要的是“D:\\ UI_excel.xls”,而不是这个,我应该在整个系统中搜索这个文件,而不是在当前的工作目录中,并获取它的完整路径并将其赋给数据源。 – user1909204

回答

0

您将搜索系统上的所有文件,直到找到'excel.xls'。这需要很长时间,甚至不能保证你找到正确的'excel.xls'。不要这样做。

我推荐了以下解决方案,而不是一个:

  1. 使用恒定的完整路径。例如,该文件必须位于'C:\ excel.xls'中。

  2. 使用恒定的相对路径。例如,该文件必须与可执行文件位于同一目录中。

  3. 将路径存储在某种配置文件(如注册表)中。

  4. 从用户获取路径,例如OpenFileDialog