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

Zusammenfassung der Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass S...

8 Möglichkeiten zum manuellen und automatischen Sichern Ihrer MySQL-Datenbank

MySQL ist ein beliebtes Open-Source-Datenbankverw...

Lösung für das CSS-Höhenkollapsproblem

1. Hoher Einsturzgrad Im Dokumentfluss wird die H...

So simulieren Sie eine Aufzählung mit JS

Vorwort Im aktuellen JavaScript gibt es kein Konz...

Reagieren Sie auf den nativen ScrollView-Pulldown-Aktualisierungseffekt

In diesem Artikel wird der spezifische Code des P...

Implementierung von Docker zum Erstellen eines Zookeeper- und Kafka-Clusters

Ich habe vor Kurzem Kafka gelernt. Als ich mich d...

Verwendung des Linux-Befehls ifconfig

1. Befehlseinführung Der Befehl ifconfig (Netzwer...

Detaillierte Erläuterung der gespeicherten Prozeduren und Funktionen von MySQL

1 Gespeicherte Prozedur 1.1 Was ist eine gespeich...