2016-01-18 27 views
12

Ich habe eine Textdatei im selben Ordner wie meine JavaScript-Datei. Beide Dateien sind auf meinem lokalen Rechner gespeichert. Die TXT-Datei ist ein Wort in jeder Zeile wie:Lokale Textdatei in ein JavaScript-Array lesen

red 
green 
blue 
black 

Ich möchte in jeder Zeile lesen und speichern sie in einem JavaScript-Array so effizient wie möglich. Wie machst Du das?

+7

Dieses "Javascript - lesen Sie lokale Textdatei" Frage/Antwort sieht aus wie ein guter Anfang: http://stackoverflow.com/questions/14446447/javascript-read-local -text-Datei – Marc

+2

Wie läuft Ihr JavaScript? Ist es in eine Webseite eingebettet? Bedeutet "lokal" "auf demselben HTTP-Host"? Oder führen Sie es mit Windows Scripting Host aus? Oder Node.js? Und wollen Sie lieber auf Ihr Dateisystem als auf etwas über HTTP zugreifen? – Quentin

+0

Ist es für Server-Seite (Node) oder Client-Seite (Web-Browser)? Sie können dies nicht für die clientseitige Codierung tun. –

Antwort

25

sync mode:

var fs = require("fs"); 
var text = fs.readFileSync("./mytext.txt"); 
var textByLine = text.split("\n") 

Async-Modus:

var fs = require("fs"); 
fs.readFile("./mytext.txt", function(text){ 
    var textByLine = text.split("\n") 
}); 

UPDATE

Als mindestens Knoten 6 readFileSync Gibt eine Buffer, so ist es zunächst umgerechnet werden müssen eine Zeichenfolge in Reihenfolge für split zu arbeiten:

var text = fs.readFileSync("./mytext.txt").toString('utf-8'); 

Oder

var text = fs.readFileSync("./mytext.txt", "utf-8"); 
+0

wie Sie sie in ein Array setzen? – abidinberkay

+0

Split-Funktion gibt ein Array zurück, und textByLine ist bereits ein Array – siavolt

+0

Dies scheint nicht auf Knoten 6 zu funktionieren, die einen 'Buffer' zurückgibt –