2014-07-22 2 views
0

안녕하세요. 내 CSV 파일의 내용을 스트리밍하려고하는데 정말 귀찮은 문제가 있습니다. 벨로 우는 제 코드이고 내 좌절감은 제 코멘트 안에 있습니다.fs.createReadStream 파일 node.js의 마지막 행을 읽는 중

var fileReadStream = fs.createReadStream(inFile); 

// For some reason readable will yield only the last line of my file 
// and if I listen for 'data' I still just get the last line of my file 
fileReadStream.on('readable', function() { 
    process.stdout.write(fileReadStream.read().toString()); 
}).on('end', function() { 
    i ++; 
    next(); 
}); 

이 문제에 대한 도움이 될 것입니다. 또한 나는 파이프를 올바르게 만드는 방법에 대해 매우 혼란 스럽다. 필자의 해석에 따르면, 파이프 된 객체처럼 파이프는 파이프 내부의 객체에 쓰고 그 객체에 대한 읽기를 호출합니다. 그러나 나는 파이프를 잘 작동시킬 수 없었습니다. 어쩌면이 문제를 해결할 때 파이프를 쉽게 이해할 수 있습니다. 감사.

+0

는 그것이 버퍼에 전체 파일을로드하고 출력 할 때 마지막 선을 보는 것을 가능합니까? 오류가 발생하지 않았는지 확인하려면 오류 조각을 추가하십시오. 또한 csv 파일을 사용하여 CSV 라이브러리를 사용하여 작업 할 수도 있습니다. –

답변

0

당신은 단순히 같은 것을 할 수 있어야한다 :

var fileReadStream = fs.createReadStream(inFile); 
fileReadStream.on('end', function() { 
    i++; 
    next(); 
}).pipe(process.stdout); 
관련 문제