为了账号安全,请及时绑定邮箱和手机立即绑定

将逐字字符串保存/加载到文本文件

将逐字字符串保存/加载到文本文件

C#
MMTTMM 2021-03-30 17:14:45
我的编码之旅大约一个月了,目前正在编写我的第一个程序。它允许将代码段保存和组织到易于搜索的库中。 截屏我目前正在使用两个列表来存储数据(一个用于条目名称,另一个用于条目内容),通过在已保存的每个EACH详细信息行中添加标签,我可以计算出这些数据的保存和加载到文本文件中。即使是新手,这似乎也很笨拙。我决定尝试使用逐字字符串将多行文本框另存为单行字符串。我只是似乎无法弄清楚,因为它似乎将每一行保存到文本文件中的新行,这破坏了我的加载文件功能。我是否认为逐字字符串将是这种情况下的解决方法,还是我完全丢失了某些东西?public void SaveCurrentLibrary() {        SaveFileDialog saveDialog = new SaveFileDialog(); //instantiates a new dialog box        saveDialog.Filter = "Code Locker File (*.cll)|*.cll|All files (*.*)|*.*";        saveDialog.InitialDirectory = appDir;        //ConvertDetailsForSaving(); commented out for testing        saveDialog.ShowDialog();        var fileName = saveDialog.FileName;        MessageBox.Show(fileName);        System.IO.File.WriteAllLines(fileName, listOfEntries);        System.IO.File.AppendAllLines(fileName, listOfDetails);    }private void LoadLibrary() {        OpenFileDialog openDialog = new OpenFileDialog();        openDialog.Filter = "Code Locker Files (*.cll)|*.cll|All files (*.*)|*.*";        openDialog.InitialDirectory = appDir;        openDialog.ShowDialog();        var fileName = openDialog.FileName;        List<string> lines = new List<string>();        using (StreamReader r = new StreamReader(fileName)) {            string line;            while ((line = r.ReadLine()) != null) {                if(line.StartsWith("[")) {                    listOfDetails.Add(line);                } else {                    listOfEntries.Add(line);                    lstEntries.Items.Add(line);                }            }        }    }//Function on AddEntry form to send data to main windowprivate void SendDataToMain() {        main.lstEntries.Items.Add(txtName.Text);         main.listOfEntries.Add(txtName.Text);         main.listOfDetails.Add(@"[" + txtName.Text + "]" + txtContents.Text);        main.lstEntries.SelectedIndex = 0;        this.Close();    }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信