如何获取文件路径?

时间:2018-06-03 20:27:22

标签: c# winforms

我正在制作烹饪书籍Windows项目,我准备了一些 .rtf 文件,以便在RichTextBox中加载它。 问题是文件的路径不能在任何计算机上工作,只有我的。 我使用的代码:

richTextBox1.LoadFile("C:\\Users\\nardeen\\Desktop\\cookproject\\cookingproject\\italian.rtf", RichTextBoxStreamType.RichText);

另外我试过这个但是没有用:

string FilePath = System.Windows.Forms.Application.StartupPath + "\\italian.rtf";

richTextBox1.LoadFile(FilePath, RichTextBoxStreamType.RichText);

2 个答案:

答案 0 :(得分:1)

请勿将StartupPathCurrentDirectory用于用户数据;这将根据您的应用程序的安装方式而改变,标准用户将无法写入,并且如果用户修复其应用程序,它可能会被删除。

如果您尝试获取用户可以读取和写入的文件夹的路径,并且在卸载或修复应用程序时不会删除该文件夹,请使用

string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
    "cooking project", "Italian.rtf");

如果要为用户包含一些启动数据,请将其作为资源或嵌入文件包含在项目中,并在安装应用程序时将其复制到用户文件夹。如果您告诉我们您使用的安装程序技术,我们也可以就此提供建议。

答案 1 :(得分:0)

您可以使用System.IO.Directory.GetCurrentDirectory()获取.exe所在文件夹的文件路径

Application.StartUpPath包含字符串中的实际program.exe(即C:\ Program \ Program.exe而不是C:\ Program)