我有以下程序在指定的csv文件上运行:
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
string path = @"C:/Documents and Settings/expn261/Desktop/SAPHR_Joiners_20110812.csv";
string strCharater = File.ReadAllText(path,UTF7Encoding.UTF7);
strCharater = strCharater.ToString();
strCharater = Regex.Replace(strCharater, "[èéèëêð]", "e");
strCharater = Regex.Replace(strCharater, "[ÉÈËÊ]", "E");
strCharater = Regex.Replace(strCharater, "[àâä]", "a");
strCharater = Regex.Replace(strCharater, "[ÀÁÂÃÄÅ]", "A");
strCharater = Regex.Replace(strCharater, "[àáâãäå]", "a");
strCharater = Regex.Replace(strCharater, "[ÙÚÛÜ]", "U");
strCharater = Regex.Replace(strCharater, "[ùúûüµ]", "u");
strCharater = Regex.Replace(strCharater, "[òóôõöø]", "o");
strCharater = Regex.Replace(strCharater, "[ÒÓÔÕÖØ]", "O");
strCharater = Regex.Replace(strCharater, "[ìíîï]", "i");
strCharater = Regex.Replace(strCharater, "[ÌÍÎÏ]", "I");
strCharater = Regex.Replace(strCharater, "[š]", "s");
strCharater = Regex.Replace(strCharater, "[Š]", "S");
strCharater = Regex.Replace(strCharater, "[ñ]", "n");
strCharater = Regex.Replace(strCharater, "[Ñ]", "N");
strCharater = Regex.Replace(strCharater, "[ç]", "c");
strCharater = Regex.Replace(strCharater, "[Ç]", "C");
strCharater = Regex.Replace(strCharater, "[ÿ]", "y");
strCharater = Regex.Replace(strCharater, "[Ÿ]", "Y");
strCharater = Regex.Replace(strCharater, "[ž]", "z");
strCharater = Regex.Replace(strCharater, "[Ž]", "Z");
strCharater = Regex.Replace(strCharater, "[Ð]", "D");
strCharater = Regex.Replace(strCharater, "[œ]", "oe");
strCharater = Regex.Replace(strCharater, "[Œ]", "Oe");
//strCharater = Regex.Replace(strCharater, "[«»\u201C\u201D\u201E\u201F\u2033\u2036]", "\"");
//strCharater = Regex.Replace(strCharater, "[\u2026]", "...");
string path2 = (@"C:/Documents and Settings/expn261/Desktop/file.csv");
StreamWriter sw = new StreamWriter(path2);
sw.WriteLine(strCharater,UTF7Encoding.UTF7);
}
}
问题在于,无论在最后3或4行上运行哪个文件都不会显示。
问题是什么?
答案 0 :(得分:2)
您应该使用IDisposables作为StreamWriter
使用(){},例如:
using(StreamWriter sw = new StreamWriter(path2))
{
sw.WriteLine(strCharater, UTF7Encoding.UTF7);
}
在这种情况下,clean dispose将调用Close()
的{{1}}方法,这将导致它将缓冲区写入文件。