uniapp安卓本地文件读写封装与使用示例

作者:工具松鼠

时间:2026-10-31

浏览:194

本文介绍如何在uniapp安卓环境下封装文件IO操作。通过plus.io.requestFileSystem获取文件系统,利用getFile创建或打开文件,并通过createWriter实现写入。示例展示了如何封装storage方法,并在业务代码中调用读写接口,处理文件不存在时的默认值逻辑,帮助开发者快速实现本地数据持久化。

文章目录

首先,我们需要封装一个专门用于处理文件IO操作的模块,命名为io.js。该模块将封装底层API,提供统一的读写接口。

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.js文件。

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

总结

至此,关于uniapp在安卓平台进行本地文件写入与读取的示例介绍完毕。如需了解更多相关内容,建议查阅本站过往文章或继续浏览后续教程,感谢支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章