Adobe脚本之如何读取txt文件的文本内容

本文首发于我的Hexo博客:https://likianta.coding.me/2018/0203-193432/

在Adobe脚本编写中,读取文件内容分为以下三个步骤:

  1. 打开文件对话框,获取该文件
  2. 设置该文件为“可读”模式
  3. 读取文件内容

代码如下:

1. 创建测试界面

首先我们先构建一个UI界面,里面包含一个编辑框(用于显示读取到的内容)以及一个导入文件按钮:

{
    function ReadTxtFile()
    {
        var scriptName = "Read txt file"

        // 创建一个含有编辑框和导入按钮的面板
        win = new Window("palette", scriptName, [100,100,300,300], {resizeable:true});
        panel = win.add("panel", [0,0,200,200]);
        btn = panel.add("button", [10,10,100,40], "Import file");
        edt = panel.add("edittext", [5,60,185,130] , "", {multiline:1});
        win.show(); // 一定要`show`出来,否则面板是隐藏的

    }

    ReadTxtFile();
}

运行后如下图所示:

2. 读取文件并显示

{
    function ReadTxtFile()
    {
        // 创建一个含有编辑框和导入按钮的面板
        ...

        // 编写测试事件
        function onBtnClick(){
            // 首先打开文件对话框
            // 第一个参数是对话框的标题名
            // 第二个参数是可供选择的文件类型(中括号里面可以写多个)
            // 第三个是设置多选(`true`)还是单选(填`false`或不填)
            // 此函数返回一个`file`类型的对象
            var file = File.openDialog ("Select an ass/txt file",  ["Text:*.txt", "All files:*.*"], false);

            // 设置该文件对象为可读模式(这一步很重要)
            file.open('r'); // `r`为可读模式,`w`为可写模式,这两个是比较常用的(也可以留空)

            // 读取文件内容
            file = file.read(); // 读取全部内容
            //file = file.read(5); // 读取5个字符
            //file = file.readch(); // 读取单个字符
            //file = file.readln(); // 读取一行内容

            //file.open('w'); // 设置为“可写”模式
            //file = file.write('hello world'); // 写入内容(会把原文件内容冲掉)

            // 文本显示到编辑框中
            edt.text = file;
        }

        btn.onClick = onBtnClick; // 监听按钮事件
    }

    ReadTxtFile(); // 脚本执行
}   

运行测试效果:


相关阅读

08 LK字幕导入工具

参考

  • ESTK Object Model Viewer - file - openDialog, open, read
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值