uniapp安卓本地写入读取文件

一、封装操作文件io.js

export default {
	storage(addr,data) {
		plus.io.requestFileSystem(
			plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量
			fs => {
				// 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象
				fs.root.getFile(
					addr, {
						create: true // 文件不存在则创建
					},
					fileEntry => {
						// 文件在手机中的路径
						//console.log(fileEntry.fullPath)
						fileEntry.createWriter(writer => {
							// 写入文件成功完成的回调函数
							writer.onwrite = e => {
								console.log('写入成功');
							};
							// 向文件中写入数据
							writer.write(
								JSON.stringify(data)
							);
						});
					},
					e => {
						console.log('getFile failed: ' + e.message);
					}
				);
			},
			e => {
				console.log(e.message);
			}
		);
	},
	read(addr) {
		let that = this;
		return new Promise((resolve, reject) => {
			plus.io.requestFileSystem(
				plus.io.PUBLIC_DOCUMENTS,
				fs => {
					fs.root.getFile(
						addr, {
							create: false
						},
						fileEntry => {
							fileEntry.file(function(file) {
								console.log('文件大小:' + file.size + '-- 文件名:' + file.name);
								//创建读取文件对象
								let fileReader = new plus.io.FileReader();
								//以文本格式读取文件数据内容
								fileReader.readAsText(file, 'utf-8');
								//文件读取操作完成时的回调函数
								fileReader.onloadend = function(evt) {
									resolve(evt.target.result)
									//console.log("提取的服务器地址:", sURL);
								};
							});
						},
						e => {
							reject(e)
							console.log(e)
						}
					);
				},
				e => {
					reject(e);
					console.log(e.message);
				}
			);
		})

	}
}

二、使用

在需要使用的地方引入该文件。

IO.read("文件名称.json").then(res => {
            // res 读取的文件内容
			}).catch(err => {
                // 找不到该文件就写入一个空白文件。
				IO.storage("名称.json", [])
				console.log(err, "err")
			})

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
uniapp中,可以使用uni-app提供的API实现本地文件读取写入,并获取本地文件路径。 1. 本地文件读取 使用uni-app的`uni.readFile()`方法可以读取本地文件,该方法需要传入一个对象,包含以下参数: - filePath:本地文件路径,可以是相对路径或绝对路径。 - encoding:文件编码格式,默认为utf8。 - success:成功回调函数,返回文件内容。 - fail:失败回调函数,返回错误信息。 示例代码: ```js uni.readFile({ filePath: '/static/test.txt', success: function(res) { console.log(res.data); }, fail: function(err) { console.log(err); } }); ``` 2. 本地文件写入 使用uni-app的`uni.writeFile()`方法可以将数据写入本地文件,该方法需要传入一个对象,包含以下参数: - filePath:本地文件路径,可以是相对路径或绝对路径。 - data:要写入的内容。 - encoding:文件编码格式,默认为utf8。 - success:成功回调函数,返回undefined。 - fail:失败回调函数,返回错误信息。 示例代码: ```js uni.writeFile({ filePath: '/static/test.txt', data: 'Hello World!', success: function() { console.log('写入成功!'); }, fail: function(err) { console.log(err); } }); ``` 3. 获取本地文件路径 使用uni-app的`uni.getSavedFileList()`方法可以获取本地文件列表,该方法需要传入一个对象,包含以下参数: - success:成功回调函数,返回文件列表。 - fail:失败回调函数,返回错误信息。 示例代码: ```js uni.getSavedFileList({ success: function(res) { console.log(res.fileList); }, fail: function(err) { console.log(err); } }); ``` 以上就是uniapp加js实现本地文件读取写入并获取本地文件路径的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知名的前端专家

谢谢大哥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值