有没有办法在类中包含文件内容,而不仅仅是文本文件,还有二进制文件,如Char Array
或{{1它可能是地球上的任何东西,所以在构造函数中我的类应该将该内容写入指定文件中的文件。
此文件可以是.exe,.pdf,.xls,.xml等...
答案 0 :(得分:3)
我不完全确定你的意思是包含“类内的文件内容”,但是我猜你的意思是什么(将整个文件存储在类中?)你可能想看看Base64编码是什么一种编码方案,可以将任何二进制数据转换为ASCII字符串。
要存储二进制数据,您可以使用byte[]
将任何Convert.ToBase64String
转换为Base64编码的字符串,并将其存储在您的班级中。要取回它,请使用Convert.FromBase64String
获取byte[]
。
答案 1 :(得分:1)
就像cbley一样,我也不确定你的意思,但你可能意味着在你的程序集中嵌入一个文件?
运行应用程序时,可以将文件二进制文件解压缩到文件系统中。
//make sure MyNameSpace.MyFile.xls is the fully qualified name in your assembly to the file
using (Stream stream = Assembly.GetManifestResourceStream("MyNameSpace.Myfile.xls"))
{
byte[] buf = new byte[stream.Length];
stream.Read(buf, 0, stream.Length);
File.WriteAllBytes(@"C:\MyFile.xls", buf);
}
答案 2 :(得分:0)
查看File.ReadAllBytes()
方法。
答案 3 :(得分:0)
这是可能的,只需将文件内容存储为字节数组。编写一个转换器,以您需要的格式将指定文件的字节保存到文本文件中(因此它代表一个数组)。然后将其剪切并粘贴到您的源代码中。