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

我的编码之旅大约一个月了,目前正在编写我的第一个程序。它允许将代码段保存和组织到易于搜索的库中。 截屏


我目前正在使用两个列表来存储数据(一个用于条目名称,另一个用于条目内容),通过在已保存的每个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 window

private 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();

    }


MMTTMM
浏览 144回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP