我们可以取代" out"在System.out.println()?

时间:2014-11-24 11:25:04

标签: java

首先,我感到很遗憾,因为我提出了一个非常基本和特殊的问题;但我不熟悉Java以及编程。我研究过#34; out"在system.out.println()中是系统类的对象。可以" out"是否替换为系统类的任何其他对象?如果是的话,成员是什么以及如何???

5 个答案:

答案 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个非常有用的链接(希望这有帮助)

  1. Javapapers: system.out.print
  2. http://docs.oracle.com/javase/7/docs/api/java/lang/System.html
  3. 以下是对它的简短说明:

    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看看会发生什么