import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.util.Map; public class ConsoleEncTest { public static void main(String[] args) throws IOException, InterruptedException { String pyCode; pyCode = "import os;import sys;print '%s|%s' % (sys.getdefaultencoding(), sys.stdin.encoding);"; ProcessBuilder pb = new ProcessBuilder("python", "-c", "\"" + pyCode + "\""); Map env = pb.environment(); env.put("PYTHONPATH", "."); Process p = pb.start(); OutputStream outStream = p.getOutputStream(); InputStream inStream = p.getInputStream(); InputStream errStream = p.getErrorStream(); BufferedReader inReader = new BufferedReader(new InputStreamReader(inStream)); BufferedReader errReader = new BufferedReader(new InputStreamReader(errStream)); outStream.close(); p.waitFor(); System.out.println("STDOUT:"); String line = inReader.readLine(); while (line != null) { System.out.println(line); line = inReader.readLine(); } System.out.println("STDERR:"); line = errReader.readLine(); while (line != null) { System.out.println(line); line = errReader.readLine(); } } }