2014-12-17 2 views
1

을 파일에 쓸 수 :Nodejs는

var data = "Hello" 
fs.open(path, 'a', 0666, function(err, fd) { 
    fs.writeSync(fd, data); 
}); 

을하고, 파일에 중복 기록 : 그것은 두 번 같은를 기록하는 이유

HelloHello 

를?

+0

코드가 함수에 있고 함수가 두 번 실행 중일 때 (로드시 한 번, 호출 할 때 한 번) 가정합니다. 코드 실행과 같은 더 많은 코드를 제공 할 수 있습니까? – Grice

+0

이 URL을 사용해보십시오. http://stackoverflow.com/questions/2496710/writing-files-in-node-js 어쩌면 다른 변형에서 잘 작동합니다. console.log를 시도해보고 문제가있는 곳을 정확히 두 번 볼 수 있는지 확인합니다. (열린 func 또는 wirtesSync –

답변

0

현재 파일을 추가 모드로 여는 중입니다 (즉, 'a'의 약자입니다). 이 모드는 작성한 모든 데이터가 파일의 끝 부분에 추가됨을 의미합니다.

이 스크립트를 두 번 실행하면 얻는 결과가 표시됩니다. HelloHello. 파일을 삭제 한 다음 스크립트를 한 번 다시 실행하면 올바른 결과가 표시됩니다.

이 데이터를 한 번만 쓰고 싶다면 'w' 모드 (쓰기 모드)를 사용해야합니다. 쓰기 모드는 파일에 원하는 내용을 쓰고 이전에 있던 내용을 모두 파괴합니다.

+0

기존 파일에 내 문자열을 추가해야합니다.이 코드는 한 번만 실행됩니다.) , 파일에는'Hello' 대신'HelloHello'가 나타납니다. –