private void loadConfig()
 {
     try
     {
         StreamReader  sr = new StreamReader(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf", Encoding.Default);
         String        line;
         StringBuilder configContext = new StringBuilder();
         while ((line = sr.ReadLine()) != null)
         {
             configContext.AppendLine(line);
         }
         sr.Close();
         CoodyConfig config = (CoodyConfig)JsonHandle.toBean <CoodyConfig>(configContext.ToString());
         ThreadNumComboBox.Text = config.ThreadNum;
         TimeOutComboBox.Text   = config.TimeOut;
         if (config.ExpListViews != null)
         {
             foreach (String[] lines in config.ExpListViews)
             {
                 ListViewItem lvi = new ListViewItem();
                 lvi.SubItems[0].Text = Convert.ToString(ExpListView.Items.Count + 1);
                 lvi.SubItems.Add(lines[1]);
                 lvi.SubItems.Add(lines[2]);
                 lvi.SubItems.Add(lines[3]);
                 lvi.SubItems.Add(lines[4]);
                 lvi.SubItems.Add(lines[5]);
                 ExpListView.Items.Add(lvi);
             }
         }
         if (config.HeaderListviews != null)
         {
             foreach (String[] lines in config.HeaderListviews)
             {
                 addOrModifyHeader(lines[0], lines[1], -1);
             }
         }
     }
     catch { }
     finally
     {
         if (ExpListView.Items.Count == 0)
         {
             String   jsons = Properties.Resources.Struts2_exp;
             String[] lines = jsons.Split(Environment.NewLine.ToCharArray());
             foreach (String line in lines)
             {
                 ExpModule exp = (ExpModule)JsonHandle.toBean <ExpModule>(line);
                 modifyExpInfo(exp, -1);
             }
         }
     }
 }
        private void saveConfig()
        {
            CoodyConfig config = new CoodyConfig();

            config.ThreadNum = ThreadNumComboBox.Text;
            config.TimeOut   = TimeOutComboBox.Text;
            List <String[]> headerListviews = new List <string[]>();

            for (int i = 0; i < HeaderListview.Items.Count; i++)
            {
                String[] lines = new String[2];
                lines[0] = HeaderListview.Items[i].SubItems[0].Text;
                lines[1] = HeaderListview.Items[i].SubItems[1].Text;
                headerListviews.Add(lines);
            }
            config.HeaderListviews = headerListviews;
            List <String[]> expListViews = new List <string[]>();

            for (int i = 0; i < ExpListView.Items.Count; i++)
            {
                String[] lines = new String[6];
                lines[0] = ExpListView.Items[i].SubItems[0].Text;
                lines[1] = ExpListView.Items[i].SubItems[1].Text;
                lines[2] = ExpListView.Items[i].SubItems[2].Text;
                lines[3] = ExpListView.Items[i].SubItems[3].Text;
                lines[4] = ExpListView.Items[i].SubItems[4].Text;
                lines[5] = ExpListView.Items[i].SubItems[5].Text;
                expListViews.Add(lines);
            }
            config.ExpListViews = expListViews;
            String     json = JsonHandle.toJson(config);
            FileStream fs   = new FileStream(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf", FileMode.Create);

            byte[] data = System.Text.Encoding.Default.GetBytes(json);
            fs.Write(data, 0, data.Length);
            fs.Flush();
            fs.Close();
        }