친구에게 Java에 대해 많이 알지 못하는 Java 코드를 작성하도록 도와주었습니다. 그래서 나는 그에게 약간의 도우미 기능을 썼다. 그 중 하나는 OutputStream
에 문자열을 쓰는 함수입니다. 살펴보기 :System.out이 폐쇄 되었습니까? 다시 열 수 있습니까?
public void write(String txt, OutputStream out) {
PrintWriter printer = new PrintWriter(out);
printer.print(txt);
printer.close();
}
이제 어디서든 원하는대로 쓸 수 있습니다. 내가 나중에 System.out.println()
더 이상 쉘에 아무것도 기록하지 않는 것을 발견 하
(new StreamHelper()).write("Hello Test", System.out);
: 예를 들어, 당신은 그렇게 할 수 있습니다. 그래서 나는 아마도 printer.close()
도 자동으로 System.out
을 닫았을 것이라고 생각합니다.이 함수가 다시 끝난 후에 다시 사용할 수있는 방법을 생각해 봅니다.
내 가정이 맞습니까? (여기에 묻지 않고 어떻게 알 수 있습니까?)
write()
함수 호출 후 System.out
을 어떻게 계속 사용할 수 있습니까?
이러한 도우미 함수를 작성하는 더 좋은 방법이 있습니까?
I를 위해 유용하게 할 수 있음 그러나이 같은 폐쇄하기로 스트림을 보호하기 위해 외관을 쓸 수 믿어, 당신은'close()'대신'flush'를 사용할 수 있습니다. –
추한'(새로운 StreamHelper()). write (...)'호출을 피하기 위해'write' 메소드를'static'으로 만들 수 있습니다. – adarshr
@Stas Kurilin : 나는 그것을 시도하고 작동합니다. – erikbwork