java中的sun.security.action.GetPropertyAction类
今天我学习java中的IO。当我在java中的sun.security.action.GetPropertyAction类,java,string,class,Java,String,Class,今天我学习java中的IO。当我在BufferedWriter类中查看lineSeparatorstring时,我看到了这个语句 lineSeparator = java.security.AccessController.doPrivileged( new sun.security.action.GetPropertyAction("line.separator")); 它初始化行分隔符字符串。但我找不到 sun.security.action.GetPropertyActi
BufferedWriter
类中查看lineSeparator
string时,我看到了这个语句
lineSeparator = java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("line.separator"));
它初始化行分隔符
字符串。但我找不到
sun.security.action.GetPropertyAction(String args)
在java源代码中初始化。所以我对java如何使用java源代码中没有的这个类感到困惑。那么告诉我:
- 此类的定义位置以及
如何调用此类JVM
- 我们可以在自己的程序中调用这个类吗
java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("line.separator"));
使用doPrivileged的代码说“给我
属性,如果当前类(此行代码所在的类)为
允许我读它。”
还有另一个讨论可以更好地理解它
编辑:它在您的JDK程序文件下\Java\jdk1.8.0\u 25\jre\lib\rt.jar您可以学习rt.jar现在是2020年,这种情况仍然存在。解决此问题的一个快速方法是使用已安装的JDK,而不是来自eclipse安装的JRE。转到Windows>首选项>Java>已安装的JRE,添加已安装的JDK并将其作为默认值使用。
@sachin你现在明白了吗?很好的解释,但我仍然无法理解“GetPropertyAction”类是在哪里定义的,我指的是java src中的哪个包、JAR或其他任何地方folder@SachinKumar更新了我的答案。我可以使用什么类来替换sun.security.action.GetPropertyAction?