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("成功!");
}
}
}