ben StreamReader ve StreamWriter sınıflarını kullanmak istiyorsunuz Bir CSV (virgülle ayrılmış değerler) dosyanız var ve bir alan değiştiğinde dosyayı ayırmak, dosyayı değiştirerek/değiştirerek (gereksiz alıntı işaretleri olmadan) ve yorum/c (Burada #" ile başlayan tarafından tanımlanan) ertain hatları
Modifiye yöntemi:
public void Split(string inputfile, string outputfilesformat)
{
System.IO.StreamWriter outfile = null;
string line;
string[] splitArray;
string nameFromFile = "";
try
{
using (var infile = new System.IO.StreamReader(inputfile))
{
while (!infile.EndOfStream)
{
line = infile.ReadLine();
splitArray = line.Split(new char[] { ',' });
if (!splitArray[0].StartsWith("\"#"))
{
if (splitArray[4].Replace("\"", "") != nameFromFile.Replace("\"", ""))
{
if (outfile != null)
{
outfile.Dispose();
outfile = null;
}
nameFromFile = splitArray[4].Replace("\"", "");
continue;
}
if (outfile == null)
{
outfile = new System.IO.StreamWriter(
string.Format(outputfilesformat, nameFromFile),
false,
infile.CurrentEncoding);
}
outfile.WriteLine(line);
}
}
}
}
finally
{
if (outfile != null)
outfile.Dispose();
}
}
Yerel yolu çağrı:
string strpath = Server.MapPath("~/Data/SPLIT/DATA.TXT");
string newFile = Server.MapPath("~/Data/SPLIT");
if (System.IO.File.Exists(@strpath))
{
Split(strpath, newFile+"\\{0}.CSV");
}
Unvanınız ve gerçek soru farklıdır. Bir metin dosyasının (başlık) nasıl bölüneceğini veya daha verimli bir şekilde nasıl yapılacağını (soru) öğrenmek ister misiniz? –
İkisini de arıyorum. Metin dosyasını en verimli şekilde bölme! – GPX