课程表

Cordova课程

工具箱
速查手册

Cordova 文件系统

当前位置:免费教程 » 移动开发 » Cordova

此插件用于操作用户设备上的本机文件系统。

步骤1 - 安装文件插件

我们需要运行命令提示符中的代码来安装此插件。

  1. C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-file

步骤2 - 添加按钮

在这个例子中,我们将向您展示如何创建文件,写入文件,读取它和删除它。因此,我们将在 index.html 中创建四个按钮。我们还将添加 textarea ,我们将显示我们文件的内容。

  1. <button id = "createFile">CREATE FILE</button>
  2. <button id = "writeFile">WRITE FILE</button>
  3. <button id = "readFile">READ FILE</button>
  4. <button id = "removeFile">DELETE FILE</button>
  5.  
  6. <textarea id = "textarea"></textarea>

步骤3 - 添加事件监听器

我们将在 index.js 中的 onDeviceReady 函数中添加事件监听器,以确保在插件使用之前所有内容都已启动。

  1. document.getElementById("createFile").addEventListener("click", createFile);
  2. document.getElementById("writeFile").addEventListener("click", writeFile);
  3. document.getElementById("readFile").addEventListener("click", readFile);
  4. document.getElementById("removeFile").addEventListener("click", removeFile);

步骤4A - 创建文件功能

该文件将在设备上的应用程序根文件夹中创建。要访问根文件夹,您需要为您的文件夹提供超级用户访问权限。在我们的例子中,根文件夹的路径是 \\ data \\ data \\ com.example.hello \\ cache 此时此文件夹为空。

Cordova File Root Empty

现在让我们添加将创建 log.txt 文件的函数。我们将在 index.js 中编写此代码。我们首先请求文件系统。此方法使用四个参数。类型可以是 WINDOW.TEMPORARY WINDOW.PERSISTENT,size是存储所需的字节值(在本例中为5MB)。

  1. function createFile() {
  2. var type = window.TEMPORARY;
  3. var size = 5*1024*1024;
  4.  
  5. window.requestFileSystem(type, size, successCallback, errorCallback)
  6.  
  7. function successCallback(fs) {
  8. fs.root.getFile('log.txt', {create: true, exclusive: true}, function(fileEntry) {
  9. alert('File creation successfull!')
  10. }, errorCallback);
  11. }
  12.  
  13. function errorCallback(error) {
  14. alert("ERROR: " + error.code)
  15. }
  16. }

现在我们可以按 CREATE FILE 按钮,警报将确认我们已成功创建文件。

Cordova File Create

现在我们可以再次检查您的应用程序根文件夹,新的文件将在那里。

Cordova File Root

步骤4B - 写文件功能

接下来我们要做的是在文件中写一些文本。我们将再次请求文件系统,然后创建文件写入器,以便能够写入我们分配给 blob 变量的 Lorem Ipsum 文本。

  1. function writeFile() {
  2. var type = window.TEMPORARY;
  3. var size = 5*1024*1024;
  4.  
  5. window.requestFileSystem(type, size, successCallback, errorCallback)
  6.  
  7. function successCallback(fs) {
  8.  
  9. fs.root.getFile('log.txt', {create: true}, function(fileEntry) {
  10.  
  11. fileEntry.createWriter(function(fileWriter) {
  12. fileWriter.onwriteend = function(e) {
  13. alert('Write completed.');
  14. };
  15.  
  16. fileWriter.onerror = function(e) {
  17. alert('Write failed: ' + e.toString());
  18. };
  19.  
  20. var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'});
  21. fileWriter.write(blob);
  22. }, errorCallback);
  23.  
  24. }, errorCallback);
  25.  
  26. }
  27.  
  28. function errorCallback(error) {
  29. alert("ERROR: " + error.code)
  30. }
  31. }

写入文件按钮后,警报将通知我们写入成功。

Cordova File Write

现在我们可以打开 log.txt,看到 Lorem Ipsum 写在里面。

Cordova FIle Root Log Text

步骤4C - 读取文件功能

在此步骤中,我们将阅读 log.txt 文件,并将其显示在 textarea 元素中。首先我们请求文件系统并获取文件对象,然后我们正在创建 reader 当读取器加载时,我们将返回的值分配给 textarea

  1. function readFile() {
  2. var type = window.TEMPORARY;
  3. var size = 5*1024*1024;
  4.  
  5. window.requestFileSystem(type, size, successCallback, errorCallback)
  6.  
  7. function successCallback(fs) {
  8.  
  9. fs.root.getFile('log.txt', {}, function(fileEntry) {
  10.  
  11. fileEntry.file(function(file) {
  12. var reader = new FileReader();
  13.  
  14. reader.onloadend = function(e) {
  15. var txtArea = document.getElementById('textarea');
  16. txtArea.value = this.result;
  17. };
  18.  
  19. reader.readAsText(file);
  20.  
  21. }, errorCallback);
  22.  
  23. }, errorCallback);
  24. }
  25.  
  26. function errorCallback(error) {
  27. alert("ERROR: " + error.code)
  28. }
  29. }

当我们单击 READ FILE 按钮时,文件中的文本将写在 textarea 中。

Cordova File Read

步骤4D - 删除文件功能

最后,我们将创建删除 log.txt 文件的功能。

  1. function removeFile() {
  2. var type = window.TEMPORARY;
  3. var size = 5*1024*1024;
  4.  
  5. window.requestFileSystem(type, size, successCallback, errorCallback)
  6.  
  7. function successCallback(fs) {
  8. fs.root.getFile('log.txt', {create: false}, function(fileEntry) {
  9.  
  10. fileEntry.remove(function() {
  11. alert('File removed.');
  12. }, errorCallback);
  13.  
  14. }, errorCallback);
  15. }
  16.  
  17. function errorCallback(error) {
  18. alert("ERROR: " + error.code)
  19. }
  20. }

我们现在可以按删除文件按钮从应用程序根文件夹中删除该文件。该警报将通知我们删除成功。

Cordova File Delete

如果我们检查应用程序根文件夹,我们将看到它是空的。

Cordova File Root Empty
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号