JS の FileReader を介して .txt ファイルの内容を取得する方法

JS の FileReader を介して .txt ファイルの内容を取得する方法

JSはFileReaderを通じて.txtファイルの内容を取得します。

最近、いくつかの処理を行うために js を介して .txt ファイルを解析する要件に対処しています。以下に概要を示します。

.txtファイルの読み取り方法

var リーダー = 新しい FileReader();
var fileUploader = document.getElementById("fileUploader"); //ファイル情報を取得するための入力ボックスIDを取得します reader.readAsText(fileUploader.files[0], "utf-8"); //エンコーディングを設定します reader.onload = function() { undefined
data.trim().split('\n').forEach(function(v, i){未定義
ウィンドウ['str' + (i+1)] = v
}
}
  • vは.txt内の各行のテキストの内容です
  • i .txt 内の行番号です

.txt ファイル内の行の総数を取得する直接的な方法はないので、ここではループを使用して処理します。

var カウント =0;
data.trim().split('\n').forEach(function(v, i){未定義
カウント++;
})

JS: FileReader() はファイルを読み取ります

FileReader オブジェクトを使用すると、Web アプリケーションは、File または Blob オブジェクトを使用して読み取るファイルまたはデータを指定し、ユーザーのコンピューターに保存されているファイル (または生データ バッファー) の内容を非同期的に読み取ることができます。

財産:

  • FileReader.error 、ファイルの読み取り中にエラーが発生したことを示します。
  • FileReader.readyState
  • FilerReader.result読み取られた結果

実例から始めましょう

index.htmlは以下のとおりです

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
<メタ文字セット="UTF-8">
<meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
<meta http-equiv="X-UA-compatible" content="ie=edge">
<title>ファイルリーダー</title>
</head>
<本文>
<input id="入力" type="ファイル">
</本文>
</html>

demo.txtは以下のとおりです

これはデモテストです

こんにちは世界

txt ファイルの読み取り

<スクリプト>
  const input = document.querySelector('input[type=file]')
  input.addEventListener('change', ()=>{
    const リーダー = 新しい FileReader()
    reader.readAsText(input.files[0],'utf8') // input.files[0]は最初のファイルです reader.onload = ()=>{
      document.body.innerHTML += reader.result // reader.result は結果です}
  }、 間違い)
  </スクリプト>

画像ファイルの読み取り

<スクリプト>
  const input = document.querySelector('input[type=file]')
  input.addEventListener('change', ()=>{
    console.log( 入力ファイル )
    const リーダー = 新しい FileReader()
    reader.readAsDataURL(input.files[0]) // input.files[0]は最初のファイルです reader.onload = ()=>{
      const img = 新しい画像()
      img.src = リーダー結果
      document.body.appendChild(img) // reader.result は取得結果です}
  }、 間違い)
  </スクリプト>

java.io.* をインポートします。
パブリッククラスFileRead {
    パブリック静的void main(String args[])はIOExceptionをスローします{
        ファイル file = new File("Hello1.txt");
        // ファイルを作成します。file.createNewFile();
        // FileWriter オブジェクトを作成します
        FileWriter ライター = new FileWriter(ファイル);
        // ファイルにコンテンツを書き込みます writer.write("これは\n\n例です\n");
        ライターをフラッシュします。
        ライター.close();
        // FileReader オブジェクトを作成します。FileReader fr = new FileReader(file);
        char[] a = 新しいchar[50];
        fr.read(a); // 配列の内容を読み取ります for (char c : a)
            System.out.print(c); // 文字を1つずつ印刷します fr.close();
    }
}

方法

メソッドの定義説明する
中止():voidファイルの読み取り操作を終了します
readAsArrayBuffer(ファイル):voidファイルの内容をバイトごとに非同期で読み取り、その結果はArrayBufferオブジェクトで表されます。
readAsBinaryString(ファイル):voidファイルの内容をバイト単位で非同期に読み取り、結果はファイルのバイナリ文字列になります。
readAsDataURL(ファイル):voidファイルの内容を非同期に読み取り、結果はdata:url形式の文字列で表されます。
readAsText(ファイル、エンコーディング):voidファイルの内容を文字ごとに非同期で読み取り、結果を文字列として表現します。

イベント

イベント名説明する
中止読み取り操作が中止されたときに呼び出されます
エラー読み取り操作でエラーが発生したときに呼び出されます
アップロード読み取り操作が正常に完了したときに呼び出されます
ロード終了読み取り操作が成功したか失敗したかに関係なく完了したときに呼び出されます。
ロード開始時読み取り操作が開始される前に呼び出されます
進行中データの読み取り中に定期的に呼び出されます

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScriptはファイルリーダーインターフェースを通じてファイルを読み取ります
  • JS+HTML5 FileReader オブジェクトの使用例
  • JS+HTML5 FileReader はファイルアップロード前のローカルプレビュー機能を実装します

<<:  CSS 疑似要素と疑似クラスの魔法のような使い方についての簡単な説明

>>:  MySQL のクエリパフォーマンスに対する制限の影響

推薦する

MySQLフィールドのデフォルト値を設定する方法

目次序文: 1. デフォルト値に関する操作2. 使用上の提案要約:序文: MySQL では、テーブル...

11 の素晴らしい JavaScript コード リファクタリングのベスト プラクティスの概要

目次1. 関数の抽出2. 重複した条件付きスニペットを結合する3. 条件分岐文を関数に抽出する4. ...

MySQL UNION演算子の基本知識ポイント

MySQL UNION 演算子このチュートリアルでは、MySQL UNION 演算子の構文と例を紹介...

mysql5.7 のエンコーディングを utf8mb4 に設定する方法

最近、問題に遭遇しました。モバイル端末の絵文字や一部の絵文字は 4 バイトですが、UTF-8 は 3...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

MySQL で UTF-8 エンコーディングを使用しないのはなぜですか?

MySQL UTF-8 エンコーディングMySQL は 2003 年のバージョン 4.1 から U...

Docker環境を構築する簡単な方法

まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...

MySQLの日付と時刻の間隔計算の分析例

この記事では、例を使用して、MySQL の日付と時刻の間隔計算について説明します。ご参考までに、詳細...

NexusはAPIを使用して操作します

Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...

Docker コンテナ データ ボリュームの名前付きマウントと匿名マウントの問題

目次コンテナデータボリュームとはコンテナ データ ボリュームが必要なのはなぜですか?使用データボリュ...

Vueカスケードドロップダウンボックスの設計と実装

目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...

LINUX ポートが占有されているかどうかを確認します

ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...

VUEはG2チャートを使用した実装を導入します

目次G2チャートについて使用テンプレートで使用される完全なコード (棒グラフ)世界地図を追加するG2...

Ansible を使用した Nginx のバッチ デプロイのサンプル コード

1.1 nginxインストールパッケージとインストールスクリプトをクライアントにコピーし、スクリプト...

ウェブデザインにおける装飾要素の応用の概要

<br />序文: このチュートリアルを読む前に、序文を注意深く読んでください。そうしな...