So erhalten Sie den Inhalt einer TXT-Datei über FileReader in JS

So erhalten Sie den Inhalt einer TXT-Datei über FileReader in JS

JS erhält den Inhalt der TXT-Datei über FileReader

Vor Kurzem habe ich mich mit der Anforderung beschäftigt, TXT-Dateien mit JS zu analysieren, um einige Verarbeitungsschritte durchzuführen. Hier ist eine Zusammenfassung.

Methode zum Lesen von TXT-Dateien

var reader = neuer FileReader();
var fileUploader = document.getElementById("fileUploader"); //ID des Eingabefelds abrufen, um die Dateiinformationen abzurufen reader.readAsText(fileUploader.files[0], "utf-8"); //Kodierung festlegen reader.onload = function() { undefined
data.trim().split('\n').forEach(Funktion(v, i){undefiniert
Fenster['str' + (i+1)] = v
}
}
  • v ist der Inhalt jeder Textzeile in .txt
  • i ist die Zeilennummer in .txt

Es gibt keine direkte Methode, um die Gesamtzahl der Zeilen in einer TXT-Datei zu ermitteln, daher verwende ich hier eine Schleife, um dies zu verarbeiten:

Variablenanzahl = 0;
data.trim().split('\n').forEach(Funktion(v, i){undefiniert
zählen++;
})

JS: FileReader() liest Dateien

Mit dem FileReader-Objekt kann eine Webanwendung den Inhalt einer auf dem Computer des Benutzers gespeicherten Datei (oder eines Rohdatenpuffers) asynchron lesen. Dabei wird ein File- oder Blob-Objekt verwendet, um die zu lesende Datei oder die zu lesenden Daten anzugeben.

Eigentum:

  • FileReader.error zeigt an, dass beim Lesen einer Datei ein Fehler aufgetreten ist
  • FileReader.readyState
  • Das FilerReader.result gelesene Ergebnis

Beginnen wir mit einem praktischen Beispiel

index.html lautet wie folgt

<!DOCTYPE html>
<html lang="de">
<Kopf>
<meta charset="UTF-8">
<meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
<meta http-equiv="X-UA-kompatibel" content="ie=edge">
<title>Dateileser</title>
</Kopf>
<Text>
<input id="Eingabe" Typ="Datei">
</body>
</html>

demo.txt lautet wie folgt

Dies ist ein Demotest

Hallo Welt

Lesen von txt-Dateien

<Skript>
  const input = document.querySelector('Eingabe[Typ=Datei]')
  input.addEventListener('ändern', ()=>{
    const reader = neuer FileReader()
    reader.readAsText(input.files[0],'utf8') // input.files[0] ist die erste Datei reader.onload = ()=>{
      document.body.innerHTML += reader.result // reader.result ist das Ergebnis}
  }, FALSCH)
  </Skript>

Einlesen von Bilddateien

<Skript>
  const input = document.querySelector('Eingabe[Typ=Datei]')
  input.addEventListener('ändern', ()=>{
    console.log( Eingabedateien )
    const reader = neuer FileReader()
    reader.readAsDataURL(input.files[0]) // input.files[0] ist die erste Datei reader.onload = ()=>{
      const img = neues Bild()
      img.src = Leser.Ergebnis
      document.body.appendChild(img) // reader.result ist das Ergebnis der Erfassung}
  }, FALSCH)
  </Skript>

Beispiele

importiere java.io.*;
öffentliche Klasse FileRead {
    public static void main(String args[]) wirft IOException {
        Datei Datei = neue Datei("Hallo1.txt");
        // Eine Datei erstellen file.createNewFile();
        // erstellt ein FileWriter-Objekt
        FileWriter-Writer = neuer FileWriter(Datei);
        // Inhalt in die Datei schreiben writer.write("Dies\n ist\n ein\n Beispiel\n");
        Schriftsteller.Flush();
        Schriftsteller.schließen();
        //Erstellen Sie ein FileReader-Objekt. FileReader fr = new FileReader(file);
        zeichen[] a = neues zeichen[50];
        fr.read(a); // Lies den Inhalt des Arrays für (char c : a)
            System.out.print(c); // Zeichen einzeln drucken fr.close();
    }
}

Verfahren

Methodendefinition beschreiben
abbrechen():void Beendet einen Dateilesevorgang
readAsArrayBuffer(Datei):void Asynchrones Lesen des Dateiinhalts Byte für Byte, das Ergebnis wird durch ein ArrayBuffer-Objekt dargestellt
readAsBinaryString(Datei):void Asynchrones Lesen des Dateiinhalts byteweise, das Ergebnis ist eine Binärzeichenfolge der Datei
readAsDataURL(Datei):void Lesen Sie den Dateiinhalt asynchron und stellen Sie das Ergebnis als Zeichenfolge in der Form „data:url“ dar.
readAsText(Datei,Kodierung):void Lesen Sie den Dateiinhalt asynchron Zeichen für Zeichen und das Ergebnis wird als Zeichenfolge ausgedrückt

Ereignis

Ereignisname beschreiben
beim Abbrechen Wird aufgerufen, wenn ein Lesevorgang abgebrochen wird
bei Fehler Wird aufgerufen, wenn bei einem Lesevorgang ein Fehler auftritt
laden Wird aufgerufen, wenn der Lesevorgang erfolgreich abgeschlossen ist
am Ende laden Wird aufgerufen, wenn der Lesevorgang abgeschlossen ist, unabhängig davon, ob er erfolgreich war oder nicht.
beim Laden starten Wird aufgerufen, bevor ein Lesevorgang beginnt
über Fortschritte Wird regelmäßig beim Lesen von Daten aufgerufen

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • JavaScript liest Dateien über die Filereader-Schnittstelle
  • Anwendungsbeispiel für JS+HTML5 FileReader-Objekte
  • JS+HTML5 FileReader implementiert lokale Vorschaufunktion vor dem Dateiupload

<<:  Eine kurze Diskussion über die magischen Verwendungsmöglichkeiten von CSS-Pseudoelementen und Pseudoklassen

>>:  So verwenden Sie dl(dt,dd), ul(li), ol(li) in HTML

Artikel empfehlen

Tutorial zu den Grundlagen von JavaScript und JQuery Framework

Inhaltsverzeichnis 1. JS-Objekt DOM –1, Funktion ...

Einführung und Verwendung der Angular-Pipeline PIPE

Vorwort PIPE, übersetzt als Pipeline. Angular Pip...

Implementierung der Docker-Bereitstellung von ElasticSearch und ElasticSearch-Head

In diesem Artikel wird hauptsächlich erläutert, w...

Einfaches Verständnis und Beispiele für MySQL Index Pushdown (ICP)

Vorwort Index Condition Pushdown (ICP) ist eine n...

Verwenden Sie den Befehl sed, um die kv-Konfigurationsdatei in Linux zu ändern

sed ist ein Zeichenstromeditor unter Unix, also e...

Vier Möglichkeiten, CSS und HTML zu kombinieren

(1) Jedes HTML-Tag hat ein Attribut style, das CS...

So wählen und verwenden Sie PNG, JPG und GIF als Web-Bildformate

Welches dieser Formate (GIF, PNG oder JPG) sollte...

Ein kurzer Vortrag über die halbsynchrone MySQL-Replikation

Einführung MySQL erreicht eine hohe Verfügbarkeit...

Mit HTML+CSS3 implementierte Anmeldeschnittstelle

Ergebnisse erzielen Bauen Sie zunächst mit HTML e...