Función electrónica para leer un archivo local – FS – No leer

Tengo un proyecto de electron cuando necesito obtener electron para leer un archivo local.

En este momento, lo que tengo es esto, donde se carga y muestra el contenido de un archivo html.

Solo lo necesito para leer un archivo y almacenarlo en una variable por ahora.

Aquí está mi main.js actual:

const {app, BrowserWindow } = require('electron'); const path = require('path'); const url = require('url'); var fs = require('fs'); let mainWindow; function createNewWindow() { mainWindow = new BrowserWindow({ width: 1300, height: 1000, minWidth: 600, minHeight: 400, title: 'Test App' }) } function loadInitialUrl() { mainWindow.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true })) } function closeApplication() { mainWindow.on('closed', () => { mainWindow = null; }) } app.on('ready', function(){ createNewWindow(); loadInitialUrl(); mainWindow.setMenu(null); mainWindow.openDevTools(); fs.readFile('./README.md', 'utf8', function (err,data) { if (err) { return console.log(err); } console.log(data); }); mainWindow.on('closed', function() {mainWindow = null;}); }); 

¿Cómo puedo hacer esto porque no muestra el contenido del archivo README.md en la consola.log?

Básicamente necesitas hacer las siguientes cosas.

1. Cargar dependencias requeridas

 var remote = require('remote'); // Load remote compnent that contains the dialog dependency var dialog = remote.require('dialog'); // Load the dialogs component of the OS var fs = require('fs'); // Load the File System to execute our common tasks (CRUD) 

2. Leer el contenido del archivo

 dialog.showOpenDialog((fileNames) => { // fileNames is an array that contains all the selected if(fileNames === undefined){ console.log("No file selected"); return; } fs.readFile(filepath, 'utf-8', (err, data) => { if(err){ alert("An error ocurred reading the file :" + err.message); return; } // Change how to handle the file content console.log("The file content is : " + data); }); }); 

3. Actualizar el contenido del archivo existente

  var filepath = "C:/Previous-filepath/existinfile.txt";// you need to save the filepath when you open the file to update without use the filechooser dialog againg var content = "This is the new content of the file"; fs.writeFile(filepath, content, (err) => { if (err) { alert("An error ocurred updating the file" + err.message); console.log(err); return; } alert("The file has been succesfully saved"); }); 

Para más información por favor visite aquí 🙂 Gracias ..

Una cosa más para agregar … Por favor, compruebe que su ruta de acceso al archivo es correcta. Podrías hacer algo similar a continuación.

 var path = require('path'); var p = path.join(__dirname, '.', 'README.md');