开发手册 欢迎您!
软件开发者资料库

Electron - 文件处理

Electron文件处理 - 从简单和简单的步骤学习电子,从基本到高级概念,包括概述,简介,安装,电子工作原理,Hello World,构建UI,文件处理,本地节点库,进程间通信(IPC),系统对话框,菜单,系统托盘,通知,Webview,音频和视频捕获,定义快捷方式,环境变量,调试,打包应用程序,资源。

文件处理是构建桌面应用程序的一个非常重要的部分.几乎所有桌面应用程序都与文件交互.

我们将在我们的应用程序中创建一个表单,该表单将作为输入,名称和电子邮件地址.此表单将保存到文件中,并将创建一个列表,将其显示为输出.

使用 main.js中的以下代码设置主进程 file :

 const {app, BrowserWindow} = require('electron')const url = require('url')const path = require('path')let winfunction createWindow() {   win = new BrowserWindow({width: 800, height: 600})   win.loadURL(url.format ({      pathname: path.join(__dirname, 'index.html'),      protocol: 'file:',      slashes: true   }))}app.on('ready', createWindow)

现在打开 index.html 文件并在其中输入以下代码 :

               File System                           #contact-list {            height: 150px;            overflow-y: auto;         }                              

Enter Names and Email addresses of your contacts

                     Name                     
                              Email                     
                              Add to list!                                                                        S. No.                  Name                  Email                                                               

现在我们需要处理添加事件.我们将在 view.js 文件中执行此操作.

我们将创建一个函数 loadAndDisplayContacts(),它最初会从中加载联系人文件.创建 loadAndDisplayContacts()函数后,我们将在添加到列表按钮上创建一个点击处理程序.这会将条目添加到文件和表中.

在view.js文件中,输入以下代码 :

let $ = require('jquery')let fs = require('fs')let filename = 'contacts'let sno = 0$('#add-to-list').on('click', () => {   let name = $('#Name').val()   let email = $('#Email').val()   fs.appendFile('contacts', name + ',' + email + '\n')   addEntry(name, email)})function addEntry(name, email) {   if(name && email) {      sno++      let updateString = ''+ sno + ''+ name +''          + email +''      $('#contact-table').append(updateString)   }}function loadAndDisplayContacts() {        //Check if file exists   if(fs.existsSync(filename)) {      let data = fs.readFileSync(filename, 'utf8').split('\n')            data.forEach((contact, index) => {         let [ name, email ] = contact.split(',')         addEntry(name, email)      })      } else {      console.log("File Doesn\'t Exist. Creating new file.")      fs.writeFile(filename, '', (err) => {         if(err)            console.log(err)      })   }}loadAndDisplayContacts()

现在运行应用程序,使用以下命令 :

$ electron ./main.js

一旦你添加一些联系人,应用程序将看起来像 :

文件

有关更多 fs模块API调用,请参阅节点文件系统教程.

现在我们可以使用Electron处理文件了.我们将在对话框章节中查看如何为文件调用保存和打开对话框(本机).