我想創建一個簡單的控制檯應用程序,它將根據文件名比較兩個文件並將結果輸出到一個新文件中。FS不會創建文件
我的問題是,NodeJS拒絕創建一個新文件,如果它不存在,即使我手動創建它也不存在。
compare = (data) -> # data is being read from process.stdin
fname = "#{data}_compare.txt"
stdout.write "Attempting to compare #{data}" # stdout = process.stdout
fs.writeFileSync fname, 'A test.'
中的NodeJS兩種情況下返回Error: ENOENT, no such file or directory
(當我想它創建的文件,以及當該文件已經存在了)。
我想要在運行應用程序的同一文件夾中創建文件,因此路徑不應該是問題(並且確實在錯誤消息中是正確的)。
我也試圖指定{flags: 'w'}
,但據我所知,這是默認值,所以它改變了注意。
我在Windows 10上運行,嘗試在管理員下運行命令提示符,仍然沒有。任何想法可能會造成這種情況?
只是一個猜測,但它在我看來,數據,如果從標準輸入讀取,可能包含換行符。你可以輸出'fname'並檢查? –
@asaddude它似乎它。現在我明白這可能會導致一個問題。 – ROAL
@asaddude你應該發佈這個答案。我嘗試使用'data.substring(0,data.length - 2)'從data數據中移除最後兩個字符('\ n'),現在正在正確創建文件。這完全沒有讓我想起。 – ROAL