Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么PrintWriter可以输出到进程,而BufferedWriter不能?_Java_Linux_Terminal - Fatal编程技术网

Java 为什么PrintWriter可以输出到进程,而BufferedWriter不能?

Java 为什么PrintWriter可以输出到进程,而BufferedWriter不能?,java,linux,terminal,Java,Linux,Terminal,我有类似于下面的代码,可以从Java与gdb交互。我用gdb启动进程,然后获取进程的流。我有一个线程不断地读取进程的输出(使用procOut)并将其打印到屏幕上,我使用procIn.println(“some_命令”)- 但是,如果我将procIn更改为BufferedWriter- procIn = BufferedWriter(new OutputStreamWriter(proc.getOutputStream())); 然后使用procIn.write(“some_命令”),它不起作用

我有类似于下面的代码,可以从Java与gdb交互。我用gdb启动进程,然后获取进程的流。我有一个线程不断地读取进程的输出(使用
procOut
)并将其打印到屏幕上,我使用
procIn.println(“some_命令”)
-

但是,如果我将
procIn
更改为BufferedWriter-

procIn = BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));

然后使用
procIn.write(“some_命令”)
,它不起作用,gdb也得不到输入。有人知道为什么会发生这种情况吗?

您必须对BufferedWriter执行刷新(),以确保其熄灭。

您必须对BufferedWriter执行刷新(),以确保其熄灭。

您是否尝试调用
刷新()
?是否尝试调用
刷新()
procIn = BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));