4000 개가 넘는 항목이있는 목록이 있습니다. 이러한 항목은 XML 블록을 문자열 형식으로 반환하는 메서드를 통해 전달됩니다. 그런 다음이 문자열을 XML 파일에 쓰려면 StreamWriter를 사용해야합니다. 파일 당 1000 개의 "문자열"만 허용됩니다.리스트에 <t>을 n 개의 파일로 나누십시오.
int elementCount = 0;
int fileNumber = 1;
string fileName = "C:\\test\\" + DateTime.Now().toString("ddMMyyyy") + "_0" +fileNumber + ".xml";
Do
{
StreamWriter sw = new StreamWriter(fileName);
foreach (Vehicles v in vehicles)
{
if (elementCount != 1000)
{
sw.WriteLine(ConvertCode.ToXml(v));
elementCount++;
}
else
{
sw.Close();
fileNumber++;
sw = new StreamWriter(fileName);
elementCount = 0;
sw.WriteLine(ConvertCode.ToXml(v));
elementCount++;
break;
}
}
}
while (elementCount < 1000)
그래서이 코드의 끝에서 나는 5 개의 파일이있을 것으로 예상하고 있습니다. 1000 개의 항목이있는 4 개의 파일과 나머지 항목이있는 1 개의 다른 파일. 그 순간 나는 처음 500 개의 항목과 마지막 500 개의 항목을 가진 것으로 보이는 파일 하나만을 가져옵니다.
내 루프 구조에 문제가 있음을 알고 있지만 성공적인 구조를 얻는 방법을 찾지 못하는 것 같습니다. 감사합니다
"fileName"을 1000 줄 후에 다시 작성하는 것에 대한 조언을 얻었으며 마술처럼 작동했습니다. – Blair