gpt4 book ai didi

java - 如何在运行时/启动时禁用 System.setOut 和 setErr?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:49 26 4
gpt4 key购买 nike

如何防止其他类改变System.out?我想在 App.main 中设置 System.out PrintStream 并使其成为最终版本,这样它就不能再从应用程序的其他部分进行更改。是否可以?任何骇人听闻的方式都可以:)

最佳答案

我快速查看代码显示 SecurityManager 可用于防止更改。 ;)

public static void setErr(PrintStream err) {
checkIO();
setErr0(err);
}

private static void checkIO() {
SecurityManager sm = getSecurityManager();
if (sm != null) {
sm.checkPermission(new RuntimePermission("setIO"));
}
}

您可以使用 Thread.currentThread().getStackTrace() 来识别调用者。

关于java - 如何在运行时/启动时禁用 System.setOut 和 setErr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7392229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com