我有一个带有一些文本的大文件,我想将其拆分为较小的文件。
在这个例子中,我做什么:
- 我打开一个文本文件,假设其中有 10 000 行
我在这里设置了一个package=300的数量,也就是说,这是小文件的限制,一旦一个小文件有300行,关闭它,打开一个新文件进行写入,例如(package2)。
与步骤 2 相同。
你已经知道了
这是我的函数中应该执行此操作的代码。想法(我不知道)是如何关闭并在新文件达到 300 个限制后打开一个新文件(在我们这里的例子中)。
让我告诉你我在说什么:
int nr = 1;
package=textBox1.Text;//how many lines/file (small file)
string packnr = nr.ToString();
string filer=package+"Pack-"+packnr+"+_"+date2+".txt";//name of small file/s
int packtester = 0;
int package= 300;
StreamReader freader = new StreamReader("bigfile.txt");
StreamWriter pak = new StreamWriter(filer);
while ((line = freader.ReadLine()) != null)
{
if (packtester < package)
{
pak.WriteLine(line);//writing line to small file
packtester++;//increasing the lines of small file
}
else if (packtester == package)//in this example, checking if the lines
//written, got to 300
{
packtester = 0;
pak.Close();//closing the file
nr++;//nr++ -> just for file name to be Pack-2;
packnr = nr.ToString();
StreamWriter pak = new StreamWriter(package + "Pack-" + packnr + "+_" + date2 + ".txt");
}
}
我得到这个错误:
在声明之前不能使用局部变量“pak”
不能在此范围内声明名为“pak”的局部变量,因为它会给“pak”赋予不同的含义,后者已在“父或当前”范围中用于表示其他内容