Я написал эту программу, чтобы вырезать файлы EDI в свои собственные файлы, но это не делает это последовательно. Иногда он разбивает файл с тремя разделами только на два раздела, а в других случаях он находит все три раздела.Программа запускается три раза, получает три разных результата
Может ли кто-нибудь объяснить мне, почему он ведет себя таким образом? Любая помощь приветствуется.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace chomp
{
class Program
{
static string GenerateFileName(string context)
{
return context + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".edi";
}
static int Main(string[] args)
{
string delimiter = "\r\n\r\n";
if (args.Length == 0)
{
Console.WriteLine("Please enter a file name: ");
return 1;
}
else
{
try
{
string fileName = (args[0]);
if (File.Exists(fileName)){
System.IO.StreamReader myFile =
new System.IO.StreamReader(fileName);
string FileStream = myFile.ReadToEnd();
myFile.Close();
string myFileName = GenerateFileName("DOC");
string[] FSPart = FileStream.Split(new string[] { delimiter }, StringSplitOptions.None);
foreach (string s in FSPart)
{
string newAwesomeFN = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".edi";
using (System.IO.FileStream fs = System.IO.File.Create(newAwesomeFN))
{
}
System.IO.StreamWriter file = new System.IO.StreamWriter(newAwesomeFN);
file.WriteLine(s);
file.Close();
}
return 0;
} else {
System.Console.WriteLine("Filename "+ fileName+ " does not exist!");
return 0;
} // closes else + if File.Exists
}
catch (System.FormatException)
{
Console.WriteLine("A Filename must be entered!");
return 1;
}
}
} //closes main
} //closes program
} //closes main
Не соответствует ли он одному и тому же файлу? или разные файлы? –
С тем же файлом. – CryptoJones
Ваш файл находится в кодировке UTF8? – Portekoi