C #에서는 디스크에서 쓰지 않고 문자열에서 TextReader 개체를 만드는 방법
붙여 넣은 텍스트를 웹 페이지로 구문 분석하기 위해 빠른 CSV 리더 를 사용 하고 있습니다. Fast CSV 리더에는 TextReader 개체가 필요하며 내가 가진 모든 것은 문자열입니다. 문자열을 즉시 TextReader 객체로 변환하는 가장 좋은 방법은 무엇입니까?
감사!
업데이트-샘플 코드-원본 샘플에서 새 StreamReader가 "data.csv"라는 파일을 찾고 있습니다. TextBox_StartData.Text를 통해 제공하고 싶습니다.
아래이 코드를 사용하면 컴파일되지 않습니다.
TextReader sr = new StringReader(TextBox_StartData.Text);
using (CsvReader csv = new CsvReader(new StreamReader(sr), true))
{
DetailsView1.DataSource = csv;
DetailsView1.DataBind();
}
은 new StreamReader(sr)
이 일부 잘못된 인수가 나에게 말한다. 어떤 아이디어?
다른 방법으로, 나는 이것을 시도했다 :
TextReader sr = new StreamReader(TextBox_StartData.Text);
using (CsvReader csv = new CsvReader(sr, true))
{
DetailsView1.DataSource = csv;
DetailsView1.DataBind();
}
하지만 Illegal characters in path Error.
TextBox_StartData.Text에서 문자열 샘플을 얻습니다.
Fname\tLname\tEmail\nClaude\tCuriel\tClaude.Curiel@email.com\nAntoinette\tCalixte\tAntoinette.Calixte@email.com\nCathey\tPeden\tCathey.Peden@email.com\n
이것이 올바른 접근법이라면 어떤 아이디어? 도와 주셔서 감사합니다!
System.IO.StringReader를 사용하십시오 .
using(TextReader sr = new StringReader(yourstring))
{
DoSomethingWithATextReader(sr);
}
StringReader
상속 하는 클래스를 사용하십시오 TextReader
.
당신은 StringReader를 원합니다
var val = "test string";
var textReader = new StringReader(val);
StringReader
되는TextReader
( StreamReader
스트림로부터도하지만 독서를한다). 따라서 첫 번째 예제를 가져 와서 처음부터 구성하는 CsvReader
대신 구성하는 데 사용하십시오 StreamReader
.
TextReader sr = new StringReader(TextBox_StartData.Text);
using(CsvReader csv = new CsvReader(sr, true))
{
DetailsView1.DataSource = csv;
DetailsView1.DataBind();
}
간단히 StringReader 클래스를 사용하십시오 . TextReader에서 상속됩니다.
당신이 보는 경우에 대한 설명서TextReader
, 두 개의 상속 클래스를 볼 수 있습니다. 그리고 그들 중 하나는 StringReader
원하는 것입니다.
'programing tip' 카테고리의 다른 글
src AND 컨텐츠가 포함 된 스크립트 태그는 무엇을 의미합니까? (0) | 2020.07.24 |
---|---|
안전하지 않은 응답 또는 연결 거부로 인해 Ajax 호출이 실패했는지 판별 (0) | 2020.07.24 |
팬더 DataFrame 또는 Series에 여러 필터를 적용하는 효율적인 방법 (0) | 2020.07.23 |
macOS에서 Anaconda를 완전히 제거하는 방법 (0) | 2020.07.23 |
WPF 유효성 검사 오류 감지 (0) | 2020.07.23 |