首先,我感到很遗憾,因为我提出了一个非常基本和特殊的问题;但我不熟悉Java以及编程。我研究过#34; out"在system.out.println()中是系统类的对象。可以" out"是否替换为系统类的任何其他对象?如果是的话,成员是什么以及如何???
答案 0 :(得分:3)
您可以在任何println()
上致电PrintStream
。如果您查看System
javadoc,就会找到another PrintStream
static field,即System.err
。例如:
System.err.println("This goes to POSIX standard error!");
如果您希望将标准输出替换为您自己的输出流,可以将您的信息流传递到System.setOut(PrintStream)
或相应的System.setErr(PrintStream)
答案 1 :(得分:1)
这里有2个非常有用的链接(希望这有帮助)
以下是对它的简短说明:
Structure of System.out.println
以下是JDK源中System.out.println的骨架结构。通过此代码段,突出显示了基本部分,并给出了更好的理解。
public final class System {
static PrintStream out;
static PrintStream err;
static InputStream in;
...
}
public class PrintStream extends FilterOutputStream {
//out object is inherited from FilterOutputStream class
public void println() {
...
}
更改System.out.println
‘out’
对象可以自定义。 out在启动时由java运行时环境初始化,并且在执行期间可由开发人员更改。
在默认情况下,当您通过命令行运行程序时,输出将在同一命令窗口中打印,而不是标准输出。我们可以使用setOut方法更改该行为,如下所示。
在以下示例中
public class ChangeOut {
public static void main(String args[]) {
try {
System.setOut(new PrintStream(new FileOutputStream("log.txt")));
System.out.println("Now the output is redirected!");
} catch(Exception e) {}
}
}
答案 2 :(得分:0)
是
System.setOut(out)
就是这么做的。
其中out
可以是PrintStream
的任何实例。
例如:
System.setOut(System.err);
会将默认输出流设置为与默认错误流相同。
答案 3 :(得分:0)
是肯定的。您可以使用不同的关键字作为System.err.println()或system.in,不同,您可以在此链接中获取完整视图http://javapapers.com/core-java/system-out-println/,您可以为您提供完整的教程。
答案 4 :(得分:-1)
是的,例如ERR
但是我会下载任何Java IDE(Intellij IDEA或Ecliplse),创建一个新的java项目,新类,新的main方法,输入System.out并按Ctrl + Space看看会发生什么