出于java的安全限制,System.getProperty("line.seperator")是不能夠直接取得的。可以這樣做:
String lineSeparator = (String) java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("line.separator"));
具體參考java.io.BufferedWriter的源代碼就可以找到上面這行代碼。 DriverManager里也有
1 private static void loadInitialDrivers() {
2 String drivers;
3
4 try {
5 drivers = (String) java.security.AccessController
6 .doPrivileged(new sun.security.action.GetPropertyAction(
7 "jdbc.drivers"));
8 } catch (Exception ex) {
9 drivers = null;
10 }
11 println("DriverManager.initialize: jdbc.drivers = " + drivers);
12 if (drivers == null) {
13 return;
14 }
15 while (drivers.length() != 0) {
16 int x = drivers.indexOf(':');
17 String driver;
18 if (x < 0) {
19 driver = drivers;
20 drivers = "";
21 } else {
22 driver = drivers.substring(0, x);
23 drivers = drivers.substring(x + 1);
24 }
25 if (driver.length() == 0) {
26 continue;
27 }
28 try {
29 println("DriverManager.Initialize: loading " + driver);
30 Class.forName(driver, true, ClassLoader.getSystemClassLoader());
31 } catch (Exception ex) {
32 println("DriverManager.Initialize: load failed: " + ex);
33 }
34 }
35 }
sun.security.action.GetPropertyAction() hasn't been publiced.actually and exactly,it's not be doced,which reflects that sun doesn't surport us to use these class or method which is lower class,usually, we use the classes api tells us is proier and maybe has called these undoc class but usually for us ,it's not necessary.so in the program of us or even others ,we could and i think it's really better for us to
neglect them which u can find out in the jar file of rt.jar.
posted on 2007-04-11 16:35
wqwqwqwqwq 閱讀(564)
評論(0) 編輯 收藏 所屬分類:
Simple Java