2012-10-01 3 views
2

JavaScript로 로컬 파일을 한 행씩 읽고 싶습니다. Ut이 파일의 끝 부분에 있는지 확인할 수 있습니다. 예 :JavaScript의 파일 끝

file = new ActiveXObject("Scripting.FileSystemObject"); 

// Sets the variable "f" to equal the new open file contents 

f = file.OpenTextFile("c:\\wantlist.txt", 1); 
s = f.ReadLine() 

While(s != EOF) 
{ 
    //. Do some thing 
    s = f.ReadLine() 
} 

EOF는 JavaScript로되어 있어야합니다. 아니면이 문제를 해결할 다른 방법이 있습니까? 고마워요!

답변

2
+0

, 당신은 버전 0.84을 선택하는 이유가 있었나요 내 선택에 .60? 그것은별로 중요하지 않지만 나는 잠시 동안 참견 할 것이라고 생각했습니다. 그것은 분명히 OP는 WSH 파일을 작성하고 있으므로 가능한 한 뒤로 지원해야 할 것입니다. API에서 가장 오래된 가능성있는 레코드를 제공하는 Ergo가 가장 효과적입니다. 스크립팅 언어에 대해 거의 파손이 없기 때문입니다. – jcolebrand

+0

Google에서 MSDN 페이지를 가져 오기 위해 AtEndOfStream에 대한 첫 번째 결과를 선택했습니다. 나는 단순한 속성이 꽤 잘 포팅하기 때문에 내가 선택한 버전에 많은 생각을하지는 않았다. 나는 속성의 이름을 알았 더라면 MSDN에서 이미 선호하는 API 버전을 선택할 수 있었지만 샘플 코드는 상관없이 동일 할 수 있습니다. –

2

당신이 이러한 작업을 수행하려고하는 일을 할 부울을 반환하는 속성 중 하나를 사용할 있도록하는 FileStream 개체를 다시 받고있어 as AtEndOfStream

그러나 지금은 비누 상자를 꺼내서 왜 자바 스크립트로 스크립팅하는 Windows 용 물건을 쓰는지, 왜 PowerShell과 같은 더 현대적인 것을 사용하지 않는지 묻습니다. 아쉽게도 .NET 객체의 대부분의 유연성을 제공하지만 BASH 또는 다른 스크립팅 언어의 거의 모든 스크립팅 기능을 제공합니다.

그런 다음 여기에서 수행하려는 방법은 다른 커뮤니티 회원과의 서면 작성/지원/지원을 훨씬 쉽게 할 수 있습니다.

우리는 윈도우의 JScript 프로그래밍의 비의 세부 사항을 기억하는 것이 매우 가능성이있어 (하지만 분명이 오래된 방귀 우리의 몇 주위 여전히) 그냥 호기심 중

+0

''while ''안에's = f.ReadLine();을 사용하고 있기 때문에 완전한 작동 응답을 만들어야 할 수도 있습니다.하지만''s + = f.ReadLine(); ''이라고 생각합니다. –

+0

왜 나는 완전한 예? 나는 그가 원하는 것을 구체적으로주는 최고의 답을주고 싶었다. 또한, 분명히하기 위해, 당신이 요구하는 것은 그가 모든 라인을 읽고 모든 것을 버퍼에 유지하려고 시도하고 있다는 말을하는 것입니다. 전통적으로 각 줄을 하나씩 읽으므로 각 줄마다 작업 할 수 있습니다. 예 : CSV 파일. 각 행은 하나의 레코드입니다. 따라서 메모리에 두 개 이상의 행을 유지하는 것은 버퍼의 중복이됩니다. 나는 OP가 사용법에 대해 상당히 구체적이라고 생각한다. – jcolebrand