我目前正在为学习目的编写刽子手。为此,我有一个大约6000字的文本文件作为嵌入式资源。程序读取文件并从中取出一个随机字符串。现在为了增加复杂性,我做了一个措辞,你可以写自己的话。现在我的问题是:如何将已编辑的字符串数组保存到资源文件中?
此代码读取资源文件并将其显示在多行文本框中。
public editorForm()
{
InitializeComponent();
string[] Lines = Properties.Resources.wordRes.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < Lines.Length; i++)
{
textBox1.Text += Lines[i] + Environment.NewLine;
}
textBox1.SelectionStart = textBox1.Text.Length;
}
这是我目前保存的代码,现在它只是将编辑后的文件保存到桌面,但我希望它将其保存为资源。
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
string[] words = textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
FileStream overwrite = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Hangman.txt", FileMode.Create);
using (StreamWriter file = new StreamWriter(overwrite))
{
for (int i = 0; i < words.Length; i++)
{
file.Write(words[i] + Environment.NewLine);
}
}
MessageBox.Show("Words saved. ");
}
答案 0 :(得分:1)
除了hacky之外,编译程序集后,无法更新或更改嵌入式资源。
为什么不将数据保存到磁盘,然后在加载时将数据与嵌入资源中的数据合并。或者只是将文件放在磁盘上并获取嵌入式资源,或者如果文件不存在则使用嵌入式资源作为默认值,然后写入磁盘。