Aminy
Aminy
  • 发布:2025-08-07 12:02
  • 更新:2025-08-07 12:02
  • 阅读:27

【报Bug】使用plus.io进行写入文件,提示写入成功但是文件没变化

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版 24H2

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: Android

手机系统版本号: Android 12

手机机型: 手持终端

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

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

预期结果:

写入文件成功

实际结果:

写入文件不成功

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();  

使用引入安卓类的方式写入也还是不行

2025-08-07 12:02 负责人:无 分享
已邀请:

要回复问题请先登录注册