namespace SimpleTextEditor
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btnOpenFile_Click(object sender, RoutedEventArgs e)
{
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.DefaultExt = ".txt";
dlg.Filter = "Text documents (.txt) | *.txt";
Nullable<bool> result = dlg.ShowDialog();
if (result==true)
{
string filename = dlg.FileName;
tbEditor.Text = System.IO.File.ReadAllText(filename);
}
}
private void btnSaveFile_Click(object sender, RoutedEventArgs e)
{
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.DefaultExt = ".txt";
dlg.Filter = "Text documents (.txt)|*.txt|Binary Files (.bin)|*.bin";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
string filename = dlg.FileName;
System.IO.File.WriteAllText(filename, tbEditor.Text);
}
}
}
}
回答
首先建立一些佔位二進制擴展:
if (filename.EndsWith(BINARY_EXTENSION))
File.WriteAllBytes(filename, Encoding.UTF8.GetBytes(tbEditor.Text)); // Or choose something different then UTF8
else
File.WriteAllText(filename);
而且裏面:
const string BINARY_EXTENSION = "bin";
在btnSaveFile_Click()
您可以修改保存功能你的btnOpenFile_Click
你可以這樣做:
if (filename.EndsWith(BINARY_EXTENSION))
tbEditor.Text = Encoding.UTF8.GetString(File.ReadAllBytes(filename); // Or choose something different then UTF8
else
tbEditor.Text = File.ReadAllText(filename);
謝謝,這工作! –
將2個不同版本的文本保存爲UTF8有什麼意義?它絕對沒有理由使代碼變得複雜 - 只有相同的TXT代碼和神祕的「二進制」BIN格式。爲了讓回答有些合理,你可能想解釋一下你的「二進制」格式是什麼以及它與另一個格式有什麼不同。 –
@AlexeiLevenkov這就是爲什麼我寫了'//或者選擇了不同於UTF8的東西'這意味着要選擇不同的方法來從文本中「提取」字節。 –
- 1. 需要簡單的JS文本里面的標籤編輯器
- 2. winforms的簡單文本編輯器?
- 3. 簡單的二進制文本分類
- 4. 簡單的條件格式在Google表格腳本編輯器
- 5. 保存二進制文本文件
- 6. 純二進制編輯器(不是十六進制編輯器)它存在嗎?
- 7. 文本框:從文本文件中保存(簡單)格式
- 8. 不保存在二進制形式
- 9. 動態簡單文本編輯器Java
- 10. 如何將保存的文本保存爲編輯文本
- 11. Emacs - 如何保持文本格式爲其他編輯器?
- 12. 需要ASP.Net/MVC富文本編輯器
- 13. 的Tkinter保存文本編輯器
- 14. 二進制文件格式:需要糾錯?
- 15. 二進制文件和保存的遊戲格式
- 16. 需要使用RADUPLOAD存儲上傳文件的二進制格式數據
- 17. 十六進制爲二進制形式,需要說明什麼?
- 18. FCK編輯器需要的Sql數據類型文本存儲
- 19. Javascript將二進制數據保存爲ANSI編碼的文件
- 20. 製作一個簡單的文本編輯器
- 21. 格式編輯文本需要月份和年份
- 22. 文件和二進制格式化器
- 23. 以PDF格式保存二進制文件
- 24. Libsvm以二進制格式保存模型文件
- 25. 將編輯文本保存爲位圖
- 26. 簡單的方法來查看和保存文件的二進制文件?
- 27. Android中的簡單富文本編輯器
- 28. 將TinyMCE編輯器的文本保存爲XML文件?
- 29. 保存爲RTF文件的HTML/JSP/JS富文本編輯器
- 30. 使用jQuery(簡單的文本編輯)
您忘記了描述問題或提出問題的部分。只有代碼 – David
,毫無疑問,這不是一個好的開始。請看看[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask) –
使用[WriteAllBytes](https://msdn.microsoft.com/en- us/library/system.io.file.writeallbytes(v = vs.110).aspx)而不是WriteAllText。 [這個問題](http://stackoverflow.com/questions/472906/how-do-i-get-a-consistent-byte-representation-of-strings-in-c-sharp-without-manu)顯示如何將你的字符串轉換爲一個字節數組。 – stuartd