我一直在接受
<块引用>TypeError [ERR_INVALID_ARG_TYPE]:“data”参数必须是字符串类型或 Buffer、TypedArray 或 DataView 的实例。接收到一个数组实例
我正在尝试从文件中取出行并在 :
处将它们分开,然后将它们作为两个单独的行放入另一个文件中,然后通过应用程序运行它并根据它们是否工作来分隔这些行。
const fs = require('fs');
const conf = '.\\login.conf'
const directory = '.\\input\\'
fs.readdir(directory, (err, files) => {
files.forEach(files => {
var files_directory = directory + files
fs.readFile(files_directory, 'utf8', (err, data) => {
if (err) {console.log('error', err)}
var data_array = data.split(' ')
var spaced_data_array = data_array + ' '
Array.from(spaced_data_array)
var d = spaced_data_array.split(' ')
console.log(d)
var data = d + ''
login = data.split(':')
fs.writeFile(conf, login, (err, result) => {
if (err) {console.log('error', err)}
})
require('child_process').exec('.\\ovpnconnector.exe start nordvpn.ovpn')
if (work = 0) {
console.log('Not Working')
fs.writeFile('.\\output\\not_working.txt', holder, (err, result) => {
if (err) {console.log('error', err)}
})
}
if (work = 1) {
console.log('Working')
fs.writeFile('.\\output\\working.txt', holder, (err, result) => {
if (err) {console.log('error', err)}
})
}
})
})
})
答案 0 :(得分:1)
此块导致错误:
login = data.split(':')
fs.writeFile(conf, login, (err, result) => {
login
是一个数组,它不能用作 fs.writeFile
方法的第二个参数。您可以在错误消息中看到它:
The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Array
从文件中取出几行并在 : 处将它们分开并将它们放入 另一个文件作为两个单独的行
您可以通过换行符将数组合并为字符串。
login = data.split(':').join('\r\n')
fs.writeFile(conf, login, (err, result) => {