Scinillanet,如何将其文本保存到文件中?

Posted

技术标签:

【中文标题】Scinillanet,如何将其文本保存到文件中?【英文标题】:Scintillanet, how to save its text to a file? 【发布时间】:2016-04-21 22:15:49 【问题描述】:

我正在使用 Visual Studio 在 C# 中编写代码编辑器,并在我的程序中使用 scintillaNET 作为文本编辑器,现在我希望用户能够将文本从编辑器保存到文件中。如果我使用 RichTextBox,保存文件的代码是:

richTextBox.SaveFile(saveFile1.FileName, RichTextBoxStreamType.RichText);

现在我为我的 scintilla 编辑器尝试了它:

scintilla.SaveFile(saveFile1.FileName, RichTextBoxStreamType.RichText);

但我收到错误:ScintillaNet.Scintilla 不包含 SaveFile 的定义并且没有扩展方法 SaveFile"...

将文本从 Scintilla 编辑器保存到文件的适当代码/方法是什么。有人可以告诉我吗? 谢谢

【问题讨论】:

没有内置方法,我不确定你为什么需要一个 - scintilla 不是富文本编辑器。 它不是richtextbox,所以你不能指望它和richtextbox有同样的方法。检查 scintillia 文档。 【参考方案1】:

我试图用 ScintillaNET 做同样的事情并找到了一种方法。

public void SaveToFile(string filename)

     File.WriteAllText(filename,"");
     using(StreamWriter strwriter = System.IO.File.AppendText(filename))
     
         strwriter.Write(this.TextArea.Text);
     

【讨论】:

是的,您的使用权会自动处理它。我会更新我的代码 很好的解决方案...完美运行。但是,并不是真正的 ScintillaNET 解决方案。【参考方案2】:

ScintillaNet 控件没有一种“Save-Text-Contents-To-File”方法...

相反,您必须使用此属性获取文本内容:

ScintillaNET.Scintilla.Text

然后,您可以使用 .NET System.IO.File.WriteAllText() 方法或等效方法将其保存到磁盘文件:

System.IO.File.WriteAllText(@"c:\path\filename.txt", YourScintillaControlName.Text);

【讨论】:

以上是关于Scinillanet,如何将其文本保存到文件中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上将数据保存到文本文件?

如何在python中将数组保存到文本文件?

如何将在c语言中生成的数据保存到文本文件中?

将结果保存到文本文件

如何将打印机设置保存为文本文件

如何将字典保存到文件中,保持良好的格式?