At.Okr.OKrBook.Packer.TxtParser.Parse C# (CSharp) Method

Parse() public method

public Parse ( ) : void
return void
        public void Parse()
        {
            Segment data = null;
            IList<Segment> datas = new List<Segment>();
            int index = 1;

            try
            {
                FileStream fs = new FileStream(this.src, FileMode.Open, FileAccess.Read);

                using (StreamReader sr = new StreamReader(fs))
                {
                    string line = sr.ReadLine().Trim();

                    while (line != "*END*")
                    {
                        if (!string.IsNullOrEmpty(line))
                        {
                            if (line.StartsWith(this.prefix))
                            {
                                if (data != null)
                                {
                                    datas.Add(data);

                                    SaveToFile(data);

                                    //Console.WriteLine("生成[" + data.ID + "]完成。");

                                    index++;
                                }

                                data = new Segment();

                                //int preLength = this.prefix.Length;
                                string title = line.Substring(this.preCount).Trim();
                                data.Title = title;
                                data.ID = index.ToString("D3"); //输出001
                            }
                            else
                            {
                                string content = line.Trim();

                                if (!string.IsNullOrEmpty(content))
                                {
                                    data.Content += content + "\n";
                                }
                            }
                        }

                        line = sr.ReadLine().Trim();
                    }

                    // Save the last
                    SaveToFile(data);

                    // Save the category
                    datas.Add(data);
                    SaveToCategory(datas);
                    //Console.WriteLine("生成[" + "目录" + "]完成。");
                }
            }
            catch (System.Exception ex)
            {
            }
        }

Usage Example

Beispiel #1
0
        private void btn_Create_Click(object sender, EventArgs e)
        {
            string path = null;

            int index = this.src.LastIndexOf("\\");

            path = this.src.Substring(0, index);

            string target = path + @"\book\";

            if (System.IO.Directory.Exists(target))
            {
                Directory.Delete(target, true);
            }
            Directory.CreateDirectory(target);

            string prefix   = this.txt_Prefix.Text;
            int    preCount = int.Parse(this.txt_PreCount.Text);

            TxtParser parser = new TxtParser(src, target, prefix, preCount);

            parser.Parse();

            MessageBox.Show("生成成功。");
        }
All Usage Examples Of At.Okr.OKrBook.Packer.TxtParser::Parse