Java 为什么PrintWriter可以输出到进程,而BufferedWriter不能?
我有类似于下面的代码,可以从Java与gdb交互。我用gdb启动进程,然后获取进程的流。我有一个线程不断地读取进程的输出(使用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_命令”),它不起作用
procOut
)并将其打印到屏幕上,我使用procIn.println(“some_命令”)
-
但是,如果我将procIn
更改为BufferedWriter-
procIn = BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
然后使用
procIn.write(“some_命令”)
,它不起作用,gdb也得不到输入。有人知道为什么会发生这种情况吗?您必须对BufferedWriter执行刷新(),以确保其熄灭。您必须对BufferedWriter执行刷新(),以确保其熄灭。您是否尝试调用刷新()
?是否尝试调用刷新()
?
procIn = BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));