接上次的内容,我们在用java调用外部exe,有时会发生exe一闪而过,或者长时间的进程没有内存,cpu变化,看上去好像阻塞了一样,这是因为再调用
process = Runtime.getRuntime().exec("cmd /k dir",null,new File("E:\\profit\\java\\"));
后,还要把他的输出流导出,不然会造成阻塞,代码如下
process = Runtime.getRuntime().exec(path+calParameters.getUWCalculParString(),null,new File(baseDir+"BIN"+File.separator));
}
Runnable ra = new Runnable(){
/*
* this Thread is used for the calcul.exe/uw_calc.exe output,
* @see java.lang.Runnable#run()
*/
public void run(){
InputStream stdin=process.getInputStream();
InputStreamReader isr=new InputStreamReader(stdin);
BufferedReader br=new BufferedReader(isr);
String line=null;
try {
while((line=br.readLine())!=null){
if(getDebug()==1){
MainThread.logger.debug(line);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
Thread th = new Thread(ra);
th.start();
红色部分,自己看吧
分享到:
相关推荐
在这个压缩包中,"study path"可能是一个目录或者文件,它可能包含了学习Java的路径或者一系列逐步进阶的代码示例。 在Java编程中,初学者通常会从以下几个关键知识点开始学习: 1. **环境搭建**:首先,你需要...
Java面向对象程序设计是计算机科学领域中一门重要的编程语言课程,尤其在软件开发中占据着核心地位。清华大学的耿祥义教授编写的教材是许多学习者深入理解Java面向对象编程的首选资料。这个压缩包中包含的就是这本...
### Java面试进阶讲义知识点总结 #### 一、Java语言拾遗 ##### 1、Vector与ArrayList - **起源与版本**:`Vector` 类自 JDK 1.0 就已存在,从 Java 2 平台 v1.2 开始进行了改进,实现了 `List` 接口,使其成为 ...
总之,通过学习和实践Lua,开发者能够有效地将脚本语言的便捷性与C/C++的高性能结合,实现Java程序调用C程序的场景,提升软件的可维护性和可扩展性。同时,Lua的广泛使用也意味着丰富的社区资源和成熟的集成方案,为...
源代码中的基础篇可能涵盖变量、数据类型、控制结构(如if语句、for循环、while循环)、方法定义与调用、数组、字符串等基础概念。进阶篇则可能涉及类与对象的深入探讨,包括构造函数、访问修饰符、继承与多态的实现...
总之,"Java程序设计课件"全面讲解了Java编程的基础和进阶内容,是学习Java语言的宝贵资源,无论对于初学者还是经验丰富的开发者,都能从中受益匪浅。通过深入理解这些知识点,你可以掌握Java编程的核心技能,为开发...
《JSP程序设计实务高手进阶必备》一书聚焦于JSP(JavaServer Pages)的高级应用,旨在帮助程序员提升在实际项目中的技能水平。JSP作为一种动态网页技术,是Java平台上的重要组成部分,它结合了HTML和Java代码,允许...
文件和I/O流是JAVA程序与外部世界交互的基础。书中会介绍如何读写文件,以及如何使用不同类型的流进行数据传输,包括字节流和字符流,以及缓冲流和对象序列化等高级话题。 除此之外,书中还会涉及线程和并发编程,...
### Java设计模式详解 #### 一、创建型模式 **1. 工厂方法模式(Factory Method)** - **定义**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 - **应用场景*...
2. **封装**:封装是面向对象编程的重要特性,它隐藏了对象的内部实现细节,仅提供公共接口供外部调用,以保护数据的安全性。 3. **继承**:继承允许一个类(子类)从另一个类(父类)继承属性和方法,减少了代码...
本书将讲解JNI的基本概念、如何编写本地方法、如何编译链接库,以及如何在Java代码中调用这些本地方法。这对于实现高效的文件加密和解压算法非常有用。 五、安全性与加密技术 在免解压密码的场景下,数据的安全性是...
这包括变量声明、数据类型(如整型、浮点型、字符串型)、运算符、控制结构(如if语句、switch语句、循环for、while、do-while)以及函数的定义和调用。 2. **类与对象**:Java是面向对象的语言,因此理解和创建类...
5. **调用Java方法**:在易语言程序中,通过你封装的外部调用模块,就可以像调用易语言内置函数一样调用Java方法了。传入参数,执行Java代码,然后获取返回结果。 6. **错误处理和调试**:在调用过程中,要处理可能...
这里通过`cmd.exe`调用`wmic`命令,传入参数`process where name='java-test.exe' call terminate`来终止名为`java-test.exe`的进程。 - `IOException`处理:如果执行命令时出现错误,如无法找到命令或权限不足等...
然后,它会详细介绍Java的基本语法,包括数据类型(基本类型和引用类型)、运算符、流程控制(如if语句、switch语句、循环结构)以及方法的定义与调用。 面向对象是Java的核心特性,因此书中会深入讲解类、对象、...
Java异常处理机制是为了处理程序运行过程中可能出现的错误或异常情况。通过try-catch-finally语句块,我们可以捕获并处理异常。常见的异常类包括NullPointerException、ArithmeticException、...
Java程序设计实用教程源代码是面向初学者的一份宝贵资源,它涵盖了Java编程的基础到进阶概念,旨在帮助学习者通过实践理解Java语言的核心特性。这份源代码集合来源于一本书,通常这样的教程会按照章节或者主题组织,...
它涵盖了初学者从零开始学习Java编程的基础到进阶的知识点,是学员们掌握Java语言的起点。这份资料在Eclipse开发环境中经过了严格的测试,确保所有示例代码都能正常运行,为学习者提供了实操验证的机会。 一、Java...
以上是Java语言程序设计基础篇的一些核心知识点,通过阅读本书并结合源代码实践,学习者可以逐步掌握Java编程的基础技能,为后续的进阶学习打下坚实基础。记住,理论与实践相结合是学习编程的关键,只有通过实际编写...