我一直试图弄清楚如何从我的一个资源文件中读取一个字节数组,我已经尝试过最受欢迎的点击谷歌而没有取得明显的成功.
我有一个存储在我的程序的资源集合中的文件,我想将此文件作为字节数组读取
我目前只是使用以下代码从我的程序的根目录中读取文件:
FileStream fs = new FileStream(Path, FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] bin = br.ReadBytes(Convert.ToInt32(fs.Length));
fs.Close();
br.Close();
但是我想将此文件存储为我的应用程序中的资源,这样我就不必为我的程序发送额外的文件.
此文件包含我的程序的一部分使用的加密数据.
任何帮助或指针将不胜感激!
Dar*_*rov 18
假设您正在讨论作为程序集中的资源嵌入的文件:
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream("SomeNamespace.somefile.png"))
{
    byte[] buffer = new byte[stream.Length];
    stream.Read(buffer, 0, buffer.Length);
    // TODO: use the buffer that was read
}
小智 15
您可以通过项目属性,"资源"选项卡(如果需要,创建一个),添加资源(现有文件),为应用程序添加资源.添加文件后,可以将其FileType(在其属性中)设置为Binary.
之后,您可以轻松地以字节[]的形式访问您的文件:
var myByteArray = Properties.Resources.MyFile;