Java使用inputstream从外部程序读取标准输出

我正在尝试开发一个读取外部程序标准输出的类(使用Process,Runtime.getRuntime()。exec(cmdLine,env,dir)的实例)。 程序在过程中接受用户输入,并且在给出有效输入之前不会继续; 这似乎导致我尝试读取其输出的方式出现问题: egm.execute(); // run external the program with specified arguments BufferedInputStream stdout = new BufferedInputStream(egm.getInputStream()); BufferedInputStream stderr = new BufferedInputStream(egm.getErrorStream()); BufferedOutputStream stdin = new BufferedOutputStream(egm.getOutputStream()); int c; //standard output input stream int e; //standadr error input stream while((c=stdout.read()) != -1) //<– the Java class stops here, waiting for input? { egm.processStdOutStream((char)c); } while((e=stderr.read()) […]

从java代码运行shell脚本

我几乎已经死了试图解决这个问题。有人能帮帮忙吗?拜托? 以下是代码: import java.io.*; import java.lang.Runtime; import java.util.*; public class WORKBRO { public static void main(String args[]) { try { String target = new String(“/home/dhirendra.panwar/Desktop/test.sh”); Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(target); } catch (Throwable t) { t.printStackTrace(); } } }

JScrollPane.setviewportview与JScrollPane.add之间的区别

我今天遇到了这个新事物,我不知道为什么。 例如,当我想在面板中显示某些内容时,我只需将其添加到面板中; 但为什么我不能直接添加表格滚动窗格,为什么我必须调用setviewportview()方法? add()方法做了什么以及setViewProtView()做了什么?

如何使用Hamcrest检查双精度数组中的每个元素是否“接近”另一个数组中的每个元素?

我想比较两个双打arrays。 使用vanilla JUnit,我可以这样做: double[] a = new double[]{1.0, 2.0, 3.0}; double[] b = new double[]{1.0, 2.0, 3.0}; assertEquals(a, b, 1e-10); 我想知道如何使用Hamcrest,最好不要创建自定义匹配器(如果可能)。 类似于为数组中的每个元素使用“close”匹配器的东西。

什么是Java上的隐式构造函数

是否必须在Java中调用基类构造函数? 在C ++中它是可选的,所以我问这个。 当我扩展ArrayAdapter ,我收到此错误: “Implicit super constructor ArrayAdapter() is undefined. Must explicitly invoke another constructor” 那么,调用基础构造函数的目的是什么? 当我创建对象基类时,构造函数将调用&然后它来派生权。

将16位pcm转换为8位

我有pcm音频存储在一个字节数组中。 每个样本16位。 我想让每个样本音频为8位。 谁能建议一个好的算法来做到这一点? 我没有提到比特率,因为我认为这对算法并不重要 – 对吗?

JFileChooser选择目录但显示文件

我觉得应该有一个简单的方法来做到这一点,但我无法弄清楚。 我有一个允许用户选择目录的JFileChooser。 我想显示目录中的所有文件以向用户提供一些上下文,但是只应接受目录作为选择(可能在选择文件时禁用“打开”按钮)。 有这么简单的方法吗?

如何在命令行中运行java项目

我有一个java项目,在eclipse上运行正常。 现在,我需要使用命令行运行它,比如java classpath …如何根据Eclipse中使用的存储类路径设置此类路径。

java中运行时存在多少个类实例

今天在我的采访中,我被要求编写一个代码来确定一个类在java中运行时退出的实例数。 我告诉他们,我们可以使用reflection。 如果你有这样做的有效方法,请告诉我。

将密码加密从java转换为php

我正在尝试创建现有JSP程序的PHP版本,但是我坚持使用密码加密部分。 你能告诉我如何转换这个吗? 我知道它试图获得md5()但在那之后,我没有得到它。 我迷失在Stringbuffer和for()部分。 你能帮我吗? public static String encryptPassword( String password ) { String encrypted = “”; try { MessageDigest digest = MessageDigest.getInstance( “MD5” ); byte[] passwordBytes = password.getBytes( ); digest.reset( ); digest.update( passwordBytes ); byte[] message = digest.digest( ); StringBuffer hexString = new StringBuffer(); for ( int i=0; i < message.length; i++) { hexString.append( […]