在我的解决方案中,对于其中一个项目,我必须添加二进制文件并在form_load
事件中阅读其内容。
正如您在图片中看到的,我已将其添加到相应的项目中,并将Build Action
设置为Content
和Copy to Output Directory
为Copy Always
。
现在可以somone请告诉我如何访问此文件?
private void SetupForm_Load(object sender, EventArgs e)
{
//Find the path to file then
//READ THE FILE
}
答案 0 :(得分:1)
现在,您应该在构建项目后在输出目录中找到此文件。给定文件的正确路径,您可以使用任何所需的方法访问此文件。
某些方法可以帮助您获取文件的路径:
Directory.GetCurrentDirectory();
Environment.CurrentDirectory
答案 1 :(得分:1)
我不确定你要对这个文件做什么,这将决定你最好的方法。根据答案here,您有几个选择。换句话说:
答案 2 :(得分:1)
到目前为止,我认为最好的方法就是这样:
因此,当我将文件添加到项目中时,它将与项目的exetubale文件所在的文件夹位于同一文件夹中。因此,为了获取路径(包括我必须使用Application.ExecutablePath
的exetuable文件的名称,并删除文件名并拥有文件夹的纯路径,我必须使用Path.GetDirectoryName()
,最后添加文件名I想要访问此路径,如下所示:
var path = Path.GetDirectoryName(Application.ExecutablePath) + "\\YourFileName.bin";
答案 3 :(得分: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);
}
答案 4 :(得分:0)
您可以直接从附加为资源的文件中读取字节。此示例中的资源是SampleWordnew文档。
byte [] bob = ReadBytesfromResources.Properties.Resources.SampleWordnew;