📅  最后修改于: 2023-12-03 14:49:17.753000             🧑  作者: Mango
在编程的过程中,我们经常需要从其他语言的代码中接收输出。本文将介绍如何从 Java 和 Python 中接收输出。
Java 中可以使用 ProcessBuilder
类来执行外部命令,并且可以从输出流中读取结果。
以下是一个简单的 Java 程序,它使用 ProcessBuilder
类来执行 ls
命令,并从输出流中读取结果:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
ProcessBuilder builder = new ProcessBuilder("ls", "-a");
Process process = builder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
}
}
这个程序执行了 ls -a
命令,并从输出流中读取结果。每一行被读取后都会被输出到标准输出流中。
Python 中可以使用 subprocess
模块来执行外部命令,并且可以从输出流中读取结果。
以下是一个简单的 Python 程序,它使用 subprocess
模块来执行 ls
命令,并从输出流中读取结果:
import subprocess
result = subprocess.run(['ls', '-a'], stdout=subprocess.PIPE)
output = result.stdout.decode('utf-8')
print(output)
这个程序执行了 ls -a
命令,并从输出流中读取结果。结果被转换为字符串后被输出到标准输出流中。
从 Java 和 Python 中接收输出可以帮助我们在不同的编程语言之间协作。Java 中可以使用 ProcessBuilder
类来执行外部命令,Python 中可以使用 subprocess
模块来执行外部命令。无论是哪种方式,都需要从输出流中读取结果,并将结果转换为字符串后输出。