【问题标题】:how to use relative address to read a file in C# winform如何在C#winform中使用相对地址读取文件
【发布时间】:2023-03-03 19:53:01
【问题描述】:

我正在使用 spire 库在 c# 中读取 winform 中的 word 文件。

这是我的代码:

Document mydoc = new Document();
mydoc.LoadFromFile(@"C:\Users\user\documents\visual studio 2015\Projects\FormsPrint\FormsPrint\word\1.docx");

但是这个地址不是相对的。问题是我无法将此应用程序移至其他计算机,因为它的绝对地址。

我将代码更改为:

Document mydoc = new Document();
mydoc.LoadFromFile(@"\word\1.docx");

但它没有再次工作。我首先使用了 ~/ 地址,但也没有用。请注意,函数"loadfromfile" 是 spire 库函数之一,它获取输入的字符串路径。如何使用相对路径?我阅读了其他类似的问题和答案,但对我没有用。如何将此地址更改为相对地址?

【问题讨论】:

  • ` 很奇怪。有些东西将它解释为当前分区的根(例如C:\\`),但有些人说它不是一个有效的开始路径的字符。有些人有奇怪的行为。 Directory.Exists("\\") 返回 true,但执行 Path.GetDirectoryName 返回 null。而是尝试使用.` 或者只是在没有` 的情况下开始。 编辑 反斜杠和 cmets 很奇怪,预计格式不正确
  • 另外,这个问题与spire(Scala 的数值库)有什么关系?
  • 您是否在调试中运行?如果是这样,请记住您的可执行文件位于 bin\Debug 并在该文件夹中运行,因此所有路径都必须与此相关..
  • 确保将word\1.docx 包含在VS 解决方案中,然后单击它并将Copy to output directory 更改为Copy always。这样,文件将被复制到构建可执行文件的任何位置,然后从中运行。

标签: c# winforms relative-path spire


【解决方案1】:

您可能需要将word 文件夹与您的.exe 所在的位置相同:

然后,将其称为

mydoc.LoadFromFile(@"word\1.docx");

【讨论】:

    猜你喜欢
    • 2014-10-19
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    相关资源
    最近更新 更多