JS如何通过FileReader获取.txt文件内容 目录 JS通过FileReader获取.txt文件内容 读取.txt文件方法 JS: FileReader()读取文件 下面开始实际例子 读取txt文件 读取图片文件 JS通过FileReader获取.txt文件内容 最近处理一个需求是,通过js解析.txt文件来做一些处理,在这
目录
- JS通过FileReader获取.txt文件内容
- 读取.txt文件方法
- JS: FileReader()读取文件
- 下面开始实际例子
- 读取txt文件
- 读取图片文件
JS通过FileReader获取.txt文件内容
最近处理一个需求是,通过js解析.txt文件来做一些处理,在这里做一些总结。
读取.txt文件方法
var reader = new FileReader();
var fileUploader = document.getElementById(“fileUploader”);//获取input框id来获取文件信息
reader.readAsText(fileUploader.files[0],“utf-8”);//设置编码
reader.onload = function(){undefined
data.trim().split('\n').forEach(function(v, i){undefined
window[‘str' + (i+1)] = v
}
}
v是.txt中每行文本的内容i是.txt中第几行
获取.txt文件总行数没有直接的方法可以调用,所以我这里用循环来处理:
var count =0;
data.trim().split('\n').forEach(function(v, i){undefined
count ++;
})
JS: FileReader()读取文件
FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。
属性:
FileReader.error表示在读取文件时发生的错误FileReader.readyStateFilerReader.result读取到的结果
下面开始实际例子
index.html如下
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>FileReader</title>
</head>
<body>
<input id="input" type="file">
</body>
</html>
demo.txt如下
this is a demo test
hello world
读取txt文件
<script>
const input = document.querySelector('input[type=file]')
input.addEventListener('change', ()=>{
const reader = new FileReader()
reader.readAsText(input.files[0],'utf8') // input.files[0]为第一个文件
reader.onload = ()=>{
document.body.innerHTML += reader.result // reader.result为获取结果
}
}, false)
</script>
读取图片文件
<script>
const input = document.querySelector('input[type=file]')
input.addEventListener('change', ()=>{
console.log( input.files )
const reader = new FileReader()
reader.readAsDataURL(input.files[0]) // input.files[0]为第一个文件
reader.onload = ()=>{
const img = new Image()
img.src = reader.result
document.body.appendChild(img) // reader.result为获取结果
}
}, false)
</script>
实例
import java.io.*;
public class FileRead {
public static void main(String args[]) throws IOException {
File file = new File("Hello1.txt");
// 创建文件
file.createNewFile();
// creates a FileWriter Object
FileWriter writer = new FileWriter(file);
// 向文件写入内容
writer.write("This\n is\n an\n example\n");
writer.flush();
writer.close();
// 创建 FileReader 对象
FileReader fr = new FileReader(file);
char[] a = new char[50];
fr.read(a); // 读取数组中的内容
for (char c : a)
System.out.print(c); // 一个一个打印字符
fr.close();
}
}
方法
| 方法定义 | 描述 |
|---|---|
| abort():void | 终止文件读取操作 |
| readAsArrayBuffer(file):void | 异步按字节读取文件内容,结果用ArrayBuffer对象表示 |
| readAsBinaryString(file):void | 异步按字节读取文件内容,结果为文件的二进制串 |
| readAsDataURL(file):void | 异步读取文件内容,结果用data:url的字符串形式表示 |
| readAsText(file,encoding):void | 异步按字符读取文件内容,结果用字符串形式表示 |
事件
| 事件名称 | 描述 |
|---|---|
| onabort | 当读取操作被中止时调用 |
| onerror | 当读取操作发生错误时调用 |
| onload | 当读取操作成功完成时调用 |
| onloadend | 当读取操作完成时调用,不管是成功还是失败 |
| onloadstart | 当读取操作将要开始之前调用 |
| onprogress | 在读取数据过程中周期性调用 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
本文标题为:JS如何通过FileReader获取.txt文件内容
基础教程推荐
- JavaScript开发简单易懂的Svelte实现原理详解 2023-08-12
- ajax异步加载图片实例分析 2022-12-18
- vue在install时node-sass@4.14.1 postinstall:node scripts/build.js错误解决 2023-07-09
- JavaScript函数this指向问题详解 2023-08-12
- html网页中使用希腊字母的方法 2022-09-21
- Ajax实现关键字联想和自动补全功能及遇到坑 2023-02-23
- Ajax实现简单下拉选项效果【推荐】 2022-12-28
- 使用HTML5中postMessage知识点解决Ajax中POST跨域问题 2022-10-17
- 【vue】三种获取input值的写法 2023-10-08
- AJAX实现数据的增删改查操作详解【java后台】 2023-02-23
