코드 아래FileHelpers : 고정 폭 텍스트를 읽는 첫 번째와 마지막 행을 생략하는 방법
먼저 ASP .NET MVC2에 FileHelpers를 사용하여 고정 폭 업로드 된 파일의 내용 텍스트 파일을 읽고 마지막 줄의 길이가 작고 ReadStream 원인 데 사용됩니다 이로 인한 예외. 다른 모든 줄은 적절한 고정 폭을 갖습니다. 첫 번째 줄과 마지막 줄 또는 다른 방법으로 예외없이 데이터를 읽는 방법은 무엇입니까?
[FixedLengthRecord()]
class Bank
{
[FieldFixedLength(4)]
public string AINETUNNUS;
[FieldFixedLength(16)]
public string TEKST1;
[FieldFixedLength(3)]
public string opliik;
[FieldFixedLength(2)]
public string hinnalis;
};
[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult LoadStatement(HttpPostedFileBase uploadFile)
{
FileHelperEngine engine = new FileHelperEngine(typeof(Bank));
var res = engine.ReadStream(new StreamReader(uploadFile.InputStream,
Encoding.GetEncoding(1257))) as Bank[];
}
감사합니다. 실제로 파일은 문제의 설명에 따라 고정 너비와 각 필드가 별도의 줄에있는 레코드 형식의 두 가지 형식이 될 수 있습니다. 두 필드 모두 필드가 다르므로 두 가지 다른 읽기 모드를 사용해야합니다. 고정 폭 형식은 모든 행의 시작에서 항상 "VV"를 포함합니다. 읽기 전에 스트림을 검사하고 형식에 따라 다른 읽기 모드를 적용하는 방법은 무엇입니까? – Andrus
클래스 대신에 IgnoreFirst/IgnoreLast를 요청하는 방법? – zerohero
engine.Options.IgnoreFirstLines = 1 – zerohero