주어진 .txt 또는 .csv 플랫 파일의 EOL 문자를 식별하려고합니다. 플랫 파일에있는 첫 번째 데이터 행의 EOL 문자를 기반으로이 파일의 데이터를 적절히 처리하려고합니다 (SQL Server에서 대량로드를 사용하여 대량의 EOL을 전달해야합니다). 로드 명령). Readline()은 EOL을 자동으로 처리하므로 EOL 문자의 Readline() 문자열을 구문 분석 할 수 없습니다.C# 플랫 파일의 EOL 문자 확인
이int EOLChar_CRLF = 0;
int EOLChar_LF = 0;
int EOLChar_CR = 0;
int EOLChar_Hex = 0;
string eol_line = file2.ReadLine();
MessageBox.Show(eol_line);
EOLChar_CRLF = eol_line.IndexOf("\\r\\\n");
EOLChar_LF = eol_line.IndexOf("\\n");
EOLChar_CR = eol_line.IndexOf("\\r");
EOLChar_Hex = eol_line.IndexOf("\\0x0a");
MessageBox.Show("CRLF is line feed if " + EOLChar_CRLF.ToString() + " <> -1");
MessageBox.Show("LF is line feed if " + EOLChar_LF.ToString() + " <> -1");
MessageBox.Show("CR is line feed if " + EOLChar_CR.ToString() + " <> -1");
MessageBox.Show("0x0a is line feed if " + EOLChar_Hex.ToString() + " <> -1");
누군가가 StreamReader.ReadLine() 메서드 또는이 달성의 다른 방법을 사용하여 EOL를 결정하는 방법을 알고 있나요 : 아래의 코드는 내가 뭘하려고 오전의 예를 준다? 난 단지 첫 번째 행의 데이터를 읽고 EOL을 위해 파싱하기 때문에이 파일 중 일부는 2 천만 행 이상이기 때문입니다.
행 종결자가 무엇인지 모르는 경우 어떻게 첫 번째 "행"을 결정할 수 있습니까? 나에게 닭고기와 달걀 같은 소리가 난다. –
왜 줄 구분 기호가 무엇인지 (OR)주의하고 싶습니까? MSDN마다'\ r' 또는'\ n' 또는'both'가됩니다. 'ReadLine()'메쏘드가이를 처리 할 것입니다. – Rahul
ReadLine()은 자동으로 종결자를 처리합니다. 즉, ReadLine이 작동하고 첫 번째 행을 제공 할 EOL 문자를 결정할 필요가 없습니다. 필자는 Bulk Insert 문에 매개 변수로 전달해야하기 때문에 ReadLine()이 표시하지 않는 EOL 문자가 필요합니다. –