首页 > 解决方案 > [ERR_INVALID_ARG_TYPE]

问题描述

我不断得到

TypeError [ERR_INVALID_ARG_TYPE]:“数据”参数必须是字符串类型或 Buffer、TypedArray 或 DataView 的实例。收到 Array 的实例

我试图从一个文件中取出行并将它们分隔在 a:并将它们作为两个单独的行放入另一个文件中,然后通过应用程序运行它并根据它们是否工作来分隔这些行。

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)}
                    })
                }
         })
    })
})

标签: javascriptnode.js

解决方案


此块导致错误:

  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

行动

你正在尝试做的事情:

从文件中取出行并将它们分隔在 a : 并将它们作为两个单独的行放入另一个文件

您可以通过换行符将数组合并为字符串。

  login = data.split(':').join('\r\n')
                fs.writeFile(conf, login, (err, result) => {

推荐阅读