0
我想從java運行scanimage命令。命令成功執行但我無法讀取從命令返回的圖像。我想從終端讀取圖像,並通過Java將其轉換爲base64字符串。我的代碼:執行從Java的scanimage命令
public String getimagefromscanner(String device)
{
try {
Process p = Runtime.getRuntime().exec("scanimage --resolution=300 -l 0 -t 0 -y 297 -x 210 --device-name " + device);
BufferedInputStream input = new BufferedInputStream(p.getInputStream());
byte[] file = new byte[input.available()];
input.read(file);
String result = new String(Base64.getDecoder().decode(file));
p.waitFor();
p.destroy();
return result;
} catch (IOException e) {
return e.getLocalizedMessage();
} catch (InterruptedException e) {
return e.getLocalizedMessage();
}
}
的可能的複製(http://stackoverflow.com/questions/8149828/read-the-output-from-java-exec) –
是的,我可以讀線作爲字符串,但我不知道如何轉換爲base64。我不知道哪個數據類型返回。它返回'304DNpï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï ¿½ï¿...' – Burak
它不起作用。 – Burak