フォルダごとにテキストファイルの長いリスト(約80〜100ファイル)があります。4つのテキストファイルごとに1つのテキストファイルに結合する必要があります。各テキストファイルは個別のSQLInsertコマンドであるため、4つのテキストファイルの最初の行(INSERT INTO database(value1、value2、value3)VALUES)を出力ファイルに保持する必要があります。残りの3つのファイルはスキップする必要があります。最初の行に値があります。
私が抱えている問題は、4つのファイルの最後を結合するときに、最後のファイルが最後のファイルの約半分だけを新しい結合ファイルにコピーすることです。
3つのファイルまたは2つのファイルだけを1つに結合しようとしても。それでも、最後のファイルの約半分しかコピーされません。
これが私のコードです。
fourCount
4番目のテキストファイルが結合されたことを示します。
string[] array2 = sqlInsertList.ToArray();
StreamWriter outfile3 = new StreamWriter(folderPath.Text + "\\" + count + ".txt");
count++;
foreach (string dirFileName in array2)
{
StreamReader readFile = new StreamReader(dirFileName);
string readFromFile = readFile.ReadLine();
if(fourCount == 1)
{
outfile3 = new StreamWriter(folderPath.Text + "\\" + count + ".txt");
outfile3.WriteLine(readFromFile);
}
while(!readFile.EndOfStream)
{
readFromFile = readFile.ReadLine();
outfile3.WriteLine(readFromFile);
}
count++;
if(fourCount == 4)
{
outfile3.WriteLine(";");
fourCount = 1;
}
else
{
fourCount++;
}
}