2017-07-16 2 views
0

Ich lese einfach eine Textdatei und schreibe das zurück in eine andere Datei in Node.js. Ich habe definiert auch den Codierungstyp ("UTF-8), aber es scheint nicht zu funktionieren:Kodierungsfehler beim Schreiben in eine Datei mit WriteStream in Node.js

var http = require('http') 
    var fs = require('fs') 

    var myReadStream = fs.createReadStream(__dirname + '/readme.txt','utf8') 
    var myWriteStream = fs.createWriteStream(__dirname, '/writtenText.txt','utf8') 

    /* The event name is called data */ 
    myReadStream.on('data', function(chunk){ 
     myWriteStream.write(chunk) 
    }) 

und der Fehler i zugewandt habe, ist:

internal/fs.js:21 
    throw new Error(`Unknown encoding: ${encoding}`); 
    ^

Error: Unknown encoding: /writtenText.txt 
    at assertEncoding (internal/fs.js:21:11) 
    at getOptions (fs.js:80:5) 
    at new WriteStream (fs.js:2057:24) 
    at Object.fs.createWriteStream (fs.js:2048:10) 
    at Object.<anonymous> (C:\Users\meThoz\Desktop\NodeFundamentals\Streams & Buffers\Writable Stream\App.js:5:24) 
    at Module._compile (module.js:569:30) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:503:32) 
    at tryModuleLoad (module.js:466:12) 
    at Function.Module._load (module.js:458:3) 

jemand mir mit diesem helfen könnte eine ein kleines bisschen? Danke im Voraus.

Antwort

1

Sie sollten die Funktionen aufrufen, wie fs.createReadStream(path, {encoding: 'utf8'}), cf die docs

0

das Problem mit Pipes gelöst :)

var http = require('http') 
var fs = require('fs') 

var myReadStream = fs.createReadStream(__dirname + '/readme.txt',{encoding: 'utf8'}) 
var myWriteStream = fs.createWriteStream(__dirname + '/writtenText.txt',{encoding: 'utf8'}) 

myReadStream.pipe(myWriteStream) 
+1

Die eigentliche Problem war, dass man in der ein Komma anstelle eines '+' verwendet Erstellung von 'myWriteStream'. – robertklep

Verwandte Themen