electronjs 文件IO

作者: 血之君殇 | 来源:发表于2018-06-29 14:40 被阅读4次

背景

想使用electron开发一款记事本软件,涉及到js的文件IO,在网上搜索了好久找到的都是误人子弟的文章,故在这里将自己的一些做法记录下来

读取文件

读取文件需要先使用electron提供的组件dialog调出文件选择窗口,然后读取相关的路径

const {dialog} = require('electron').remote;
this.path = dialog.showOpenDialog({properties: ['openFile']})[0];

设定要读取的文件大小
let buf = new Buffer(1024);
使用node的fs模块来读取文件,因为普通的js是没有权限读取

const fs = require('fs');
fs.open(this.path, 'r+', (err, fd) => {
    if (err) {
        return console.log(err);
    }
    fs.read(fd, buf, 0, buf.length, 0, (err, bytes) => {
        if (err) {
            console.log(err);
        }
        if (bytes > 0) {
            //buf.slice(0, bytes).toString()为读取到的内容
            this.codemirror.setValue(buf.slice(0, bytes).toString());
        }
    });
    // 关闭文件
    fs.close(fd, function (err) {
        if (err) {
            console.log(err);
        }
    });
});

写入文件

写入文件同样使用fs模块

fs.writeFile(this.path, this.codemirror.getValue(), (err) => {
    if (err) {
        console.log(err);
    } else {
        this.$message({
            message: '保存成功',
            type: 'success'
        });
    }
})

相关文章

  • electronjs 文件IO

    背景 想使用electron开发一款记事本软件,涉及到js的文件IO,在网上搜索了好久找到的都是误人子弟的文章,故...

  • 使用 JavaScript,HTML 和 CSS 构建跨平台的桌

    electronjs基于nodejs实现桌面端应用 electronjs基于nodejs使用 JavaScript...

  • Electron学习笔记

    官网:https://www.electronjs.org/开发文档:https://www.electronjs...

  • electron 文件另存为

    electron 文件另存为需要用到的知识点有:1.ipcMain[https://www.electronjs....

  • Linux 文件IO 和 标准IO

    [TOC] Linux 文件IO 和 标准IO Linux 文件IO Linux中做文件IO最常用到的5个函数是:...

  • 文件IO

    1.open/close 函数原型:int open(const char *pathname,int flags...

  • 文件IO

    读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: 标示符'r...

  • 文件IO

  • 文件IO

    2016-01-29 文件IO 大多数文件io只需要用到5个函数 open read write lseek cl...

  • 文件IO

    python文件打开方法 open(name,[,mode[buf]]) 文件读取 read([size]) si...

网友评论

    本文标题:electronjs 文件IO

    本文链接:https://www.haomeiwen.com/subject/boxayftx.html