찾다

 >  Q&A  >  본문

一个简单的java重定向程序,为什么要恢复System . out 对象,却不要恢复System . in对象

import java . io .* ;

public class StandardIO
{
        public static void main (String [ ] args) throws IOException
        {
                
                PrintStream console = System . out ;
                // InputStream stdin = System .in ;         // 为什么不需要恢复该对象
                BufferedInputStream in = new BufferedInputStream ( 
                        new FileInputStream ("StandardIO.java")) ; 
                PrintStream out = new PrintStream (
                        new BufferedOutputStream (
                                new FileOutputStream ("test.out"))) ;
                System . setIn (in) ; 
                System . setOut (out) ;
                System . setErr (out) ;
                BufferedReader br = new BufferedReader ( 
                        new InputStreamReader (System . in )) ;
                String s ;
                while ( ( s = br . readLine ( ) ) != null )
                {
                        System . out . println ( s ) ;
                }
                out . close ( ) ;
                System . setOut (console) ;
        } 
}
PHPzPHPz2887일 전235

모든 응답(1)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:31:47

    System.out을 복원하지 않고 어떤 일이 일어나는지 확인할 수도 있습니다.
    이론적으로는 프로그램이 종료되어 복원 여부는 중요하지 않습니다.

    회신하다
    0
  • 취소회신하다