51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5600|回复: 2
打印 上一主题 下一主题

请问谁在java程序中调用过tcl脚本,并获取返回值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-9 12:07:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在使用runtime.exec打开tcl后,进程一直没返回。

我的tcl脚本为test.tcl。我想在java程序中运行这个脚本,并且获取此脚本的输出。

求达人帮忙看一下啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-5-9 15:35:13 | 只看该作者
可考虑将TCL的脚本用FreeWrap转换成exe文件,再用java来调用
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-5-9 21:02:06 | 只看该作者
可以在Java获取脚本的输出的  我写过例子,是调用shell的 调用TCL都是一样的吧
见:http://www.51testing.com/index.p ... space-itemid-224274

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;

public class CallShell {
    public static void main(String[] args) {
        try {
            // 被注释掉的这个仅仅是执行了test.sh脚本,但没有获取它的输出
            // Runtime.getRuntime().exec("/home/master/workspace/shell/test.sh");
            Process process = Runtime.getRuntime().exec(
                    "/home/master/workspace/shell/test.sh");
            InputStreamReader ir = new InputStreamReader(process
                    .getInputStream());
            LineNumberReader input = new LineNumberReader(ir);
            String line;
            while ((line = input.readLine()) != null)
                System.out.println(line);
            input.close();
            ir.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-20 20:45 , Processed in 0.067551 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表