Node.js запись данных в файл приводит к дополнительным письменным символам

Simple Swift 3 Solution: добавьте эту функцию в свои контроллеры представлений, которые имеют текстовое поле:

@IBAction func textField(_ sender: AnyObject) {
    self.view.endEditing(true);
}

Затем откройте ваш помощник и убедитесь, что ваша Main.storyboard находится на одной стороне вашего вид и требуемый файл диспетчера view.swift находится на другом. Нажмите на текстовое поле, а затем выберите в правой панели утилиты «Показать инспектор подключений». Управляйте перетаскиванием из «Сделанный конец при выходе» в указанную выше функцию в вашем быстром файле. Повторите для любого другого текстового поля в этой сцене и ссылайтесь на ту же функцию.

1
задан Aioros 15 January 2019 в 23:00
поделиться

2 ответа

Чтобы записать файл, вам нужно открыть файл, в обратном вызове вы получите дескриптор файла, который будет использоваться для записи в файл. Пожалуйста, смотрите пример:

  fs.open(datapath + '/data/topplayers.json', 'wx', function(error, fileDescriptor){        
    if(!error && fileDescriptor){        
        var stringData = JSON.stringify(data);        
        fs.writeFile(fileDescriptor, stringData, function(error){        
            if(!error){        
                fs.close(fileDescriptor, function(error){        
                    if(!error){        
                        callback(false);        
                    }else{        
                        callback('Error in close file');        
                    }        
                });        
            }else{        
                callback('Error in writing file.');        
            }        
        });        
    }        
}        
0
ответ дан Mudassir 15 January 2019 в 23:00
поделиться

Хорошо, если вы хотите обновить файл, проверьте этот код:

const myUpdaterFcn = (dir,file,data,callback)=>{
           //dir looks like this: '/your/existing/path/file.json'

  // Open the file for writing (using the keyword r+)
  fs.open(dir, 'r+', (err, fileDescriptor)=>{
    if(!err && fileDescriptor){
      // Convert data to string
      const stringData = JSON.stringify(data)

      // Truncate the file
      fs.truncate(fileDescriptor,err=>{
        if(!err){
          // Write to file and close it
          fs.writeFile(fileDescriptor, stringData,err=>{
            if(!err){
              fs.close(fileDescriptor,err=>{
                if(!err){
                  callback(false)
                } else {
                  callback('Error closing existing file')
                }
              })
            } else {
              callback('Error writing to existing file')
            }
          })
        } else {
          callback('Error truncating file')
        }
      })
    } else {
      callback('Could not open file for updating, it may not exist yet')
    }
  })

}

Удачи.

0
ответ дан eum602 15 January 2019 в 23:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: