Node-RED系列(七):Node-RED存储节点的使用

这把我C 2021-01-22 19:13:39 17655

上一期我们讲到了Node-RED中解析parser分类节点的使用,利用解析节点我们可以对csv,html,json,xml,yaml文件进行解析。获取一些格式化内容。

本篇文章我来给大家讲一下Node-RED中存储file分类下的节点,该分类下有4个节点,

  • file 将msg.payload写入文件,添加到末尾或替换现有内容。或者,它也可以删除文件。
  • file in 以字符串或二进制缓冲区的形式读取文件的内容。
  • watch 监视目录或文件中的更改。
  • tail 监听被一个文件被添加的内容
file

该节点是将msg.payload写入文件,添加到末尾或替换现有内容。或者,它也可以删除文件。
输入 filename, 也可以配置,如果没有该目录,则自动创建。写入完成后,输入消息将发送到输出端口

每个消息的有效荷载将添加到文件的末尾,可以选择在每个消息之间添加一个换行符(\n)。

如果使用msg.filename,则每次写入后文件都会关闭。为了获得最佳体验,请使用固定的文件名。

可以将其配置为覆盖整个文件,而不是在文件后添加段落。例如,在将二进制数据写入文件(例如图像)时,应使用此选项,并且应禁用添加换行符的选项。

可以从编码列表中指定写入文件的数据的编码。

您可以将此节点配置为删除文件

file in

该节点能以字符串或二进制缓冲区的形式读取文件的内容。
输入 filename 如果未在节点配置中设置,该属性可以选择要读取的文件名。
输入
payload 文件的内容可以是字符串,也可以是二进制的buffer。
filename 如果未在节点配置中设置,该属性可以选择要读取的文件名。

watch

改节点用于监视目录或文件中的更改。

您可以输入用逗号分隔的目录和/或文件的列表。您需要在所有带有空格的地方加上引号“...”。

在Windows上,必须在任何目录名称中使用双反斜杠\。

实际更改的文件的完整文件名将放入msg.payload和msg.filename中,而监视列表的字符串化版本将在msg.topic中返回。

msg.file仅包含已更改文件的短文件名。msg.type更改了事物的类型,通常是file或directory,而msg.size保留了文件的大小(以字节为单位)。

当然,在Linux中,everything也是一个文件,因此可以监视

注意:该目录或文件必须存在才能被监视。如果文件或目录被删除,即使重新创建它也可能不再被监视。

tail

监听已配置文件中,被添加的内容。
在Windows上你需要根本文件的写入和更新注册。
输出的是UTF-8的字符,或者二进制文件流

完整的流配置
[
    {
        "id": "c9eae563.294d18",
        "type": "tab",
        "label": "流程 3",
        "disabled": false,
        "info": ""
    },
    {
        "id": "738ced86.140b84",
        "type": "file",
        "z": "c9eae563.294d18",
        "name": "追加到12.txt",
        "filename": "12.txt",
        "appendNewline": true,
        "createDir": false,
        "overwriteFile": "false",
        "encoding": "none",
        "x": 490,
        "y": 260,
        "wires": [
            [
                "921006b.457b4f8"
            ]
        ]
    },
    {
        "id": "8dee2a6f.831118",
        "type": "inject",
        "z": "c9eae563.294d18",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "我是被追加的",
        "payloadType": "str",
        "x": 190,
        "y": 260,
        "wires": [
            [
                "738ced86.140b84",
                "3576d67e.f638fa"
            ]
        ]
    },
    {
        "id": "921006b.457b4f8",
        "type": "debug",
        "z": "c9eae563.294d18",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 750,
        "y": 260,
        "wires": []
    },
    {
        "id": "3576d67e.f638fa",
        "type": "file in",
        "z": "c9eae563.294d18",
        "name": "读取12.txt",
        "filename": "12.txt",
        "format": "utf8",
        "chunk": false,
        "sendError": false,
        "encoding": "none",
        "x": 500,
        "y": 400,
        "wires": [
            [
                "921006b.457b4f8"
            ]
        ]
    },
    {
        "id": "b231a4b7.143ea8",
        "type": "watch",
        "z": "c9eae563.294d18",
        "name": "监听12.txt文件",
        "files": "12.txt",
        "recursive": "",
        "x": 500,
        "y": 620,
        "wires": [
            [
                "7fba4883.304338"
            ]
        ]
    },
    {
        "id": "7fba4883.304338",
        "type": "debug",
        "z": "c9eae563.294d18",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 750,
        "y": 620,
        "wires": []
    },
    {
        "id": "fdf417e5.6c4db8",
        "type": "tail",
        "z": "c9eae563.294d18",
        "name": "监听并获取12.txt内容",
        "filetype": "text",
        "split": "[\\r]{0,1}\\n",
        "filename": "12.txt",
        "inputs": 0,
        "x": 500,
        "y": 700,
        "wires": [
            [
                "d8ada19c.f13ec"
            ]
        ]
    },
    {
        "id": "d8ada19c.f13ec",
        "type": "debug",
        "z": "c9eae563.294d18",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 770,
        "y": 700,
        "wires": []
    }
]

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 98 9 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
这把我C
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区