TXT插入者批量随机插入代码
private void btn_PLEnglishSingleInsert_Click(object sender, EventArgs e) { if ((this.txtb_FolderIn.Text == string.Empty) || !Directory.Exists(this.txtb_FolderIn.Text)) { MessageBox.Show("批量插入的文件夹路径错误!"); } else if ((this.txtb_FolderOut.Text == string.Empty) || !Directory.Exists(this.txtb_FolderOut.Text)) { MessageBox.Show("批量输出的文件夹路径错误!"); } else { spin spin = new spin(); string contents = ""; if (this.cb_Subfolder.Checked) { foreach (string str2 in Directory.GetDirectories(this.txtb_FolderIn.Text)) { DirectoryInfo info = new DirectoryInfo(str2); foreach (FileInfo info2 in info.GetFiles("*.txt")) { using (StreamReader reader = info2.OpenText()) { string str3; int num3; int num4; Random random; int num6; int length = 0; int index = 0; bool flag = false; if ((this.txtb_FolderIn.Text == string.Empty) || !Directory.Exists(this.txtb_FolderIn.Text)) { MessageBox.Show("批量插入的文件夹路径错误!"); } else if ((this.txtb_FolderOut.Text == string.Empty) || !Directory.Exists(this.txtb_FolderOut.Text)) { MessageBox.Show("批量输出的文件夹路径错误!"); } else if (this.txtb_Keywords.Text == string.Empty) { MessageBox.Show("输入不完全, 请填写完整!"); } else if ((this.txtb_RandomTime.Text == string.Empty) && this.rb_PartIn.Checked) { MessageBox.Show("输入不完全, 请填写完整!"); } else { str3 = reader.ReadToEnd(); num3 = str3.Length; num4 = 0; random = new Random(DateTime.Now.Second); for (int j = 0; j < str3.Length; j++) { if (str3[j] == ' ') { flag = true; } } if (!flag) { MessageBox.Show("文章内无空格, 非法"); } else { if (!this.rb_PartIn.Checked) { goto Label_0508; } num6 = int.Parse(this.txtb_RandomTime.Text); if (num6 <= this.txtb_Keywords.Lines.Length) { goto Label_03DA; } MessageBox.Show("插入个数不能小于插入内容栏内项的个数, 请重新输入!"); } } return; Label_025A: length = random.Next(3, num3 - 2); if ((str3[length - 1] == ' ') && (str3[length] == ' ')) { index++; num4 = random.Next(num6 + 1, num6 + 100); str3 = str3.Substring(0, length) + spin.Spinner(this.txtb_Keywords.Lines[num4 % this.txtb_Keywords.Lines.Length], num4) + str3.Substring(length); } else if (str3[length - 1] == ' ') { if (str3[length - 3] != '<') { index++; num4 = random.Next(num6 + 1, num6 + 100); str3 = str3.Substring(0, length) + spin.Spinner(this.txtb_Keywords.Lines[num4 % this.txtb_Keywords.Lines.Length], num4) + " " + str3.Substring(length); } } else if ((str3[length + 1] == ' ') && (str3[length - 1] != '<')) { index++; num4 = random.Next(num6 + 1, num6 + 100); str3 = str3.Substring(0, length + 1) + " " + spin.Spinner(this.txtb_Keywords.Lines[num4 % this.txtb_Keywords.Lines.Length], num4) + str3.Substring(length + 1); } Label_03DA: if (index < num6) { goto Label_025A; } goto Label_051C; Label_03E8: length = random.Next(3, num3 - 2); if ((str3[length - 1] == ' ') && (str3[length] == ' ')) { str3 = str3.Substring(0, length) + spin.Spinner(this.txtb_Keywords.Lines[index], length) + str3.Substring(length); index++; } else if (str3[length - 1] == ' ') { if (str3[length - 3] != '<') { str3 = str3.Substring(0, length) + spin.Spinner(this.txtb_Keywords.Lines[index], length) + " " + str3.Substring(length); index++; } } else if ((str3[length + 1] == ' ') && (str3[length - 1] != '<')) { str3 = str3.Substring(0, length + 1) + " " + spin.Spinner(this.txtb_Keywords.Lines[index], length) + str3.Substring(length + 1); index++; } Label_0508: if (index < this.txtb_Keywords.Lines.Length) { goto Label_03E8; } Label_051C: contents = str3; string path = ""; for (int i = this.txtb_FolderIn.Text.Length + 1; i < str2.Length; i++) { path = path + str2[i]; } new DirectoryInfo(this.txtb_FolderOut.Text).CreateSubdirectory(path); File.AppendAllText(this.txtb_FolderOut.Text + @"\" + path + @"\" + info2.Name, contents); } } } MessageBox.Show("成功!"); } else { DirectoryInfo info4 = new DirectoryInfo(this.txtb_FolderIn.Text); foreach (FileInfo info5 in info4.GetFiles("*.txt")) { using (StreamReader reader2 = info5.OpenText()) { string str5; int num10; int num11; int num12; Random random2; int num8 = 0; int num9 = 0; bool flag2 = false; if (this.txtb_Keywords.Text == string.Empty) { MessageBox.Show("输入不完全, 请填写完整!"); } else { str5 = reader2.ReadToEnd(); num10 = str5.Length; num11 = 0; num12 = this.txtb_Keywords.Lines.Length; if (num12 > this.txtb_Keywords.Lines.Length) { MessageBox.Show("插入个数不能小于插入内容栏内项的个数, 请重新输入!"); } else { random2 = new Random(DateTime.Now.Second); for (int k = 0; k < str5.Length; k++) { if (str5[k] == ' ') { flag2 = true; } } if (!flag2) { MessageBox.Show("文章内无空格, 非法"); } else { if (!this.rb_PartIn.Checked) { goto Label_09F5; } num12 = int.Parse(this.txtb_RandomTime.Text); if (num12 <= this.txtb_Keywords.Lines.Length) { goto Label_08C7; } MessageBox.Show("插入个数不能小于插入内容栏内项的个数, 请重新输入!"); } } } return; Label_0747: num8 = random2.Next(3, num10 - 2); if ((str5[num8 - 1] == ' ') && (str5[num8] == ' ')) { num9++; num11 = random2.Next(num12 + 1, num12 + 100); str5 = str5.Substring(0, num8) + spin.Spinner(this.txtb_Keywords.Lines[num11 % this.txtb_Keywords.Lines.Length], num11) + str5.Substring(num8); } else if (str5[num8 - 1] == ' ') { if (str5[num8 - 3] != '<') { num9++; num11 = random2.Next(num12 + 1, num12 + 100); str5 = str5.Substring(0, num8) + spin.Spinner(this.txtb_Keywords.Lines[num11 % this.txtb_Keywords.Lines.Length], num11) + " " + str5.Substring(num8); } } else if ((str5[num8 + 1] == ' ') && (str5[num8 - 1] != '<')) { num9++; num11 = random2.Next(num12 + 1, num12 + 100); str5 = str5.Substring(0, num8 + 1) + " " + spin.Spinner(this.txtb_Keywords.Lines[num11 % this.txtb_Keywords.Lines.Length], num11) + str5.Substring(num8 + 1); } Label_08C7: if (num9 < num12) { goto Label_0747; } goto Label_0A09; Label_08D5: num8 = random2.Next(3, num10 - 2); if ((str5[num8 - 1] == ' ') && (str5[num8] == ' ')) { str5 = str5.Substring(0, num8) + spin.Spinner(this.txtb_Keywords.Lines[num9], num8) + str5.Substring(num8); num9++; } else if (str5[num8 - 1] == ' ') { if (str5[num8 - 3] != '<') { str5 = str5.Substring(0, num8) + spin.Spinner(this.txtb_Keywords.Lines[num9], num8) + " " + str5.Substring(num8); num9++; } } else if ((str5[num8 + 1] == ' ') && (str5[num8 - 1] != '<')) { str5 = str5.Substring(0, num8 + 1) + " " + spin.Spinner(this.txtb_Keywords.Lines[num9], num8) + str5.Substring(num8 + 1); num9++; } Label_09F5: if (num9 < this.txtb_Keywords.Lines.Length) { goto Label_08D5; } Label_0A09: contents = str5; File.AppendAllText(this.txtb_FolderOut.Text + @"\" + info5.Name, contents); } } MessageBox.Show("成功!"); } } }