我有一个实现Eclipse控制台的程序,如下所示:
FAQ How do I write to the console from a plug-in?
然后我使用(MessageConsole) mainConsole).newMessageStream()将Jsch Channel的OutputStream重定向到我的新控制台。
PrintStream printStream = new PrintStream(((MessageConsole) mainConsole.newMessageStream());
JSch jsch = new JSch();
Session session = jsch.getSession(username, host, port);
Channel channel = session.openChannel("shell");
channel.setOutputStream(printStream);现在我想将Jsch Channel的相同OutputStream重定向到一个文件,问题是已经重定向到了我的控制台。
我怎样才能同时做到这一点。
谢谢。
发布于 2018-07-17 22:13:46
如果您只是简单地输出文本,您可以尝试:
PrintWriter out = new PrintWriter("filename.txt");然后,将字符串写入其中,就像将字符串写入任何输出流一样:
out.println(text);您将一如既往地需要异常处理。确保在完成编写后调用out.close()。
如果你使用的是Java7或更高版本,你可以使用"try- with -resources语句“,当你使用完它(即退出代码块)时,它会自动关闭你的PrintStream,如下所示:
try (PrintWriter out = new PrintWriter("filename.txt")) {
out.println(text);
}您仍然需要像以前一样显式地抛出java.io.FileNotFoundException。
https://stackoverflow.com/questions/51380860
复制相似问题