1
안녕하세요 저는 작업중인 더 큰 작업에서 줄인 다음 코드를 가지고 있습니다. 본질적으로 나는 메모리 스트림을 함께 결합 할 때 결합 위치에서 특수 문자를 얻는다는 것을 알았지 만. 아래는 문제를 보여주는 앱 실행 코드입니다. Visual Studio 코드에서 결과 export.csv 파일 열기 3 행 시작 부분에 특수 문자가 표시됩니다. Excel에서 CSV를 열면 3 행의 시작이 다른 행과 다른 모양임을 알 수 있습니다..net MemoryStream, StreamWriter, FileStream 콤보가 결합 할 때 특수 문자가 발생합니다.
using System;
using System.IO;
using System.Text;
namespace testingMemory
{
class Program
{
static void Main(string[] args)
{
var stream1 = GetMemoryStream("section1");
var stream2 = GetMemoryStream("section2");
var fileStream = new FileStream("export.csv", FileMode.Truncate, FileAccess.Write);
stream1.WriteTo(fileStream);
stream2.WriteTo(fileStream);
}
public static MemoryStream GetMemoryStream(string section)
{
var wrapper = "\"";
var memoryStream = new MemoryStream();
var streamWriter = new StreamWriter(memoryStream, Encoding.UTF8);
streamWriter.WriteLine($"{wrapper}{section}{wrapper},{wrapper}1{wrapper}");
streamWriter.Flush();
streamWriter.WriteLine($"{wrapper}{section}{wrapper},{wrapper}2{wrapper}");
streamWriter.Flush();
return memoryStream;
}
}
}