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 のクエリパフォーマンスに対する制限の影響

推薦する

VMware Workstation Pro 16 ライセンス キーと使用方法のチュートリアル

VMware Workstation は、開発、テスト、デモンストレーション、展開のために仮想マシン...

CSS ペイント API: CSS のような描画ボード

1. Canvas画像をCSS背景画像として使用するCSS ペイント API は、Canvas キャ...

ボタンのタイプが送信として指定されていません。ボタンをクリックしても、指定された URL にジャンプしません。

現在、プロジェクトの要件により、フォームの送信を制御し、送信前にデータを検証および処理するために j...

MySQLインデックスを正しく作成する方法

インデックス作成は大学図書館の書誌インデックスの構築に似ており、データ検索の効率を向上させ、データベ...

SpringBoot プロジェクトの Docker 環境を実行するときに発生する無限再起動問題の詳細な説明

もしかしたら私の考え方が間違っていたのかもしれないし、問題の説明が少し乱雑だったのかもしれないが、こ...

MySQL パラメータ関連の概念とクエリ変更方法

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

JSの矢印関数におけるこのポイントの詳細な説明

矢印関数は ES6 の新機能です。独自の this はありません。その this ポイントは外部のコ...

MySQL 起動時に「サーバーは PID ファイルを更新せずに終了しました」というエラーが報告される理由の詳細な分析

多くの人が MySQL の起動時にこのエラーに遭遇しています。まず、このエラーの前提は、サービス ス...

Antdesign-vueとsortablejsを組み合わせて、2つのテーブルをドラッグして並べ替える機能を実現

目次成果を達成するsortablejs の紹介具体的な実装成果を達成する最初は、antdesign ...

MySQLのunion allとunionの違いを簡単に理解する

Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...

Axios の二次カプセル化の例 プロジェクトのデモ

1. なぜパッケージングを行うのですか?全体的なコード呼び出し、リクエストの公開処理、パーソナライズ...

Vue 2.0 の基礎を詳しく解説

目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...

Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用

Supervisor は非常に優れたデーモン管理ツールです。自動起動、ログ出力、自動ログカットなど、...

HTML テーブルタグチュートリアル (17): テーブルタイトルの垂直配置属性 VALIGN

表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...