これは私が見ている一般的な問題ですが、提供された提案のいくつかを取り入れようとしました. どれも私にとってはうまくいきませんでした。私はここで間違いを犯していますか?これが私がやろうとしていることです。
String[] comd1 = { "/bin/sh", "-c", "sesearch", "--allow -s "+tokens[1]," -t "+tokens[2].split(":")[0]," -c "+tokens[2].split(":")[1]," -p "+tokens[3].replace(";","")," sepolicy" };
Process pp = Runtime.getRuntime().exec(comd1);
stdInput = new BufferedReader(new InputStreamReader(pp.getInputStream()));
String temp, status = null;
boolean flag = false;
while ((temp = stdInput.readLine()) != null)
{
if(temp.contains("Found ") || temp.equals("") || temp.contains("Usage"))
{
}
else
flag = true;
}
if(flag) status="Yes"; else status="No";
最初に false に設定されているフラグは、常に false です。true に設定されることはありません。comd1 文字列配列のほぼすべての組み合わせを試しました。
助けてください。