JAVA命令行调用FLEX命令阻塞
来源:互联网 发布:光子嫩肤 效果 知乎 编辑:程序博客网 时间:2024/05/16 06:04
由于项目需求,需要在JAVA中调用FLEX命令进行编译。结果在调用过程中,发现有时线程会阻塞。经过一番GOOGLE,百度等查看、思考后,发现问题所在:如果在编译过程中,输出的错误信息少,不会阻塞。但是在编译过程中,输出的错误信息比较多的时候,就会阻塞。所以经过测试发现,用以下办法可以解决。开启两个线程分别读取输入流和错误流,这样就可以了。
final Process process = Runtime.getRuntime().exec(command.toString());
new Thread() {
@Override
public void run() {
try {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String ls_1;
while ((ls_1 = bufferedReader.readLine()) != null) {
System.out.println(ls_1);
}
process.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
new Thread() {
@Override
public void run() {
try {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getErrorStream()));
String ls_1;
while ((ls_1 = bufferedReader.readLine()) != null) {
System.out.println(ls_1);
}
process.getErrorStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
process.waitFor();
int state = process.exitValue();//0为正常退出,1为不正常退出
- JAVA命令行调用FLEX命令阻塞
- Java调用WMIC命令的方法阻塞
- java 调用cmd命令阻塞办法
- java 调用cmd命令进程阻塞学习
- java调用命令行Runtime.getRuntime().exec()阻塞问题
- java调用控制台命令出现阻塞的解决方法
- Java调用Windows cmd命令 阻塞问题详解
- Java调用外部程序命令时线程阻塞问题分析
- Java调用WMIC命令的方法阻塞(转)
- 使用JAVA调用操作系统命令,阻塞的原因
- java调用命令行Runtime.getRuntime().exec()函数碰到的阻塞问题
- Flex调用java webservice
- java调用windows命令行
- Java调用dos命令行
- Java调用命令行
- java调用命令行
- JAVA调用命令行
- Java调用命令行
- 让navigationItem.leftBarButtonItem具有backBarButtonItem的外观样式
- Asp.net 后台调用js方法(转)
- jquery操作select(取值,设置选中)
- Cocos2d—X游戏开发之LibCurl高级篇(get,post服务器数据)(网络详细参数信息)
- 黑马程序员 7K面试之交通信号灯
- JAVA命令行调用FLEX命令阻塞
- iOS故障排除指南:基本技巧
- oracle存储过程生成xml文件
- 在.bashrc文件中配置交叉编译工具链和JDK路径
- ubuntu使用cloudfoundry集群开发oracle环境配置
- 在网页中插入FLV视频,经测试兼容IE、火狐、谷歌等浏览器
- ajax无刷新提交
- epoll使用详解(精髓)
- Boost xml解析之菜鸟版