onReady的时候就写入文件不成功

- 发布:2025-08-07 12:02
- 更新:2025-08-07 12:02
- 阅读:27
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11 家庭中文版 24H2
HBuilderX类型: 正式
HBuilderX版本号: 4.75
手机系统: Android
手机系统版本号: Android 12
手机机型: 手持终端
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
写入文件成功
写入文件成功
实际结果:
写入文件不成功
写入文件不成功
bug描述:
plus.io.resolveLocalFileSystemURL(filePath, function(entry) {
// 可通过entry对象操作test.html文件
entry.file(function(file) {
var fileReader = new plus.io.FileReader();
alert("getFile:" + JSON.stringify(file));
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
alert("11" + evt);
alert("evt.target" + evt.target);
alert(evt.target.result);
}
alert(file.size + '--' + file.name);
});
entry.createWriter(function(writer) {
// w = writer;
// fast forwards file pointer to end of file
// writer.seek( writer.length-1 );
writer.onwrite = function(e) {
console.log("Write data success!");
readfile(filePath)
};
writer.onError = function(e) {
console.log("WonError!", e);
}
writer.write(3)
}, function(e) {
console.log(e);
});
}, function(e) {
alert("Resolve file URL failed: " + e.message);
});
打印写入成功,但是再读取文件没有变化
const File = plus.android.importClass('java.io.File')
// const BufferedReader = plus.android.importClass('java.io.BufferedReader')
// const FileReader = plus.android.importClass('java.io.FileReader')
const FileWriter = plus.android.importClass('java.io.FileWriter')
// console.log('writeToFile111', FileWriter)
// 安卓11以下 /sdcard/自己的文件夹/1.txt
// 安卓11 建议用 /storage/emulated/0/Download/自己的文件夹/1.txt
// 写文件 writeFile("/sdcard/修止符/配置.json",{"主键":"值"})
// console.log('writeFile222')
console.log('fileNamePath', fileNamePath)
// const file = new File(fileNamePath)
// console.log('file', file)
const fos = plus.android.newObject("java.io.FileWriter", fileNamePath);
console.log('fos', fos)
fos.write('3')
fos.close()
// const fos1 = new FileWriter(fileNamePath)
// console.log('fos1', fos1)
// fos1.write('3')
// fos1.close()
const file = new File(fileNamePath)
console.log('file', file)
// const out = plus.android.newObject("java.io.FileOutputStream", fileNamePath);
const out = plus.android.newObject("java.io.FileOutputStream", file);
console.log('out', out)
// const out = new FileOutputStream(fileNamePath);
out.write([0, 0, 1, 1]);
out.close();
使用引入安卓类的方式写入也还是不行
0 个回复