csharp-embedded resource file

使用 vs2022 add new item-Resources File,默认是 string
然后可以通过 vs 提供的工具添加 文件,图片等

// 默认读出来的是  byte[] 
string cnf_prefix = System.Text.Encoding.ASCII.GetString(Resource1.server, 0, Resource1.server.Length);


/// <summary>
/// 释放resx里面的普通类型文件
/// </summary>
/// <param name="resource">resx里面的资源</param>
/// <param name="path">释放到的路径</param>
private void ExtractNormalFileInResx(byte[] resource, String path)
{
FileStream file = new FileStream(path, FileMode.Create);
file.Write(resource, 0, resource.Length);
file.Flush();
file.Close();
}

/// <summary>
/// 释放resx文件里面的音频资源文件
/// </summary>
/// <param name="fileInResx">在resx里面的音频文件</param>
/// <param name="path">释放到的路径</param>
private void ExtractAudioFileInResx(Stream fileInResx, String path)
{
Stream input = fileInResx;
FileStream output = new FileStream(path, FileMode.Create);
byte[] data = new byte[1024];
int lengthEachRead;
while ((lengthEachRead = input.Read(data, 0, data.Length)) > 0)
{
output.Write(data, 0, lengthEachRead);
}
output.Flush();
output.Close();
}

/// <summary>
/// 释放resx里的图片资源文件
/// </summary>
/// <param name="image">resx里的图片资源</param>
/// <param name="path">释放到的路径</param>
private void ExtractImageFileInResx(Bitmap image, String path)
{
MemoryStream memoryStream = new MemoryStream();
image.Save(memoryStream, image.RawFormat);
byte[] data = memoryStream.ToArray();
FileStream file = new FileStream(path, FileMode.Create);
file.Write(data, 0, data.Length);
file.Flush();
file.Close();
}