2

在我的解决方案中,对于其中一个项目,我必须添加一个二进制文件并在form_load事件中读取其内容。

正如您在图片中看到的,我已将其添加到适当的项目中,并将其设置Build ActionContentCopy to Output Directoryas Copy Always

现在有人可以告诉我如何访问这个文件吗?

    private void SetupForm_Load(object sender, EventArgs e)
    {
        //Find the path to file then
        //READ THE FILE            
    }

在此处输入图像描述

4

5 回答 5

1

现在,您应该在构建项目后在输出目录中找到此文件。给定文件的正确路径,您可以使用任何您想要的方法访问此文件。

一些方法可以帮助您获取文件的路径:

  • Directory.GetCurrentDirectory();
  • Environment.CurrentDirectory
于 2013-07-08T09:35:09.593 回答
1

我不确定您要对文件做什么,这将决定您在这里的最佳方法。根据这里的答案,您有几个选择。转述:

于 2013-07-08T09:39:24.553 回答
1

到目前为止,我认为最好的方法是:

因此,当我将文件添加到项目中时,它将与项目的 exetubale 文件所在的文件夹位于同一文件夹中。因此,为了获取路径(包括我必须使用的可执行文件的Application.ExecutablePath名称,并删除文件名并拥有我必须使用的文件夹的纯路径Path.GetDirectoryName(),最后将我想要访问的文件名添加到此路径,你可以见下文:

var path = Path.GetDirectoryName(Application.ExecutablePath) + "\\YourFileName.bin";
于 2013-07-08T09:55:48.700 回答
0

您调用来读取文件的 API 取决于文件的类型。但是一般的模式是这样的。

private void SetupForm_Load(object sender, EventArgs e)
{
    System.IO.Stream input = Application.GetResourceStream(new Uri @"/MyApp;component/content.bin", UriKind.Relative)).Stream;
    BinaryReader binaryReader = new BinaryReader(input);
}
于 2013-07-08T09:38:07.627 回答
0

您可以直接从作为资源附加的文件中读取字节。本示例中的资源是 SampleWordnew 文档。

byte[] bob = ReadBytesfromResources.Properties.Resources.SampleWordnew ;

于 2013-11-13T06:39:38.630 回答