equal
deleted
inserted
replaced
28 import java.io.File; |
28 import java.io.File; |
29 import java.io.FileInputStream; |
29 import java.io.FileInputStream; |
30 import java.io.FileNotFoundException; |
30 import java.io.FileNotFoundException; |
31 import java.io.IOException; |
31 import java.io.IOException; |
32 import java.lang.ref.SoftReference; |
32 import java.lang.ref.SoftReference; |
|
33 import java.nio.file.FileSystems; |
33 import java.security.AccessController; |
34 import java.security.AccessController; |
34 import java.security.PrivilegedAction; |
35 import java.security.PrivilegedAction; |
35 import java.security.PrivilegedActionException; |
36 import java.security.PrivilegedActionException; |
36 import java.security.PrivilegedExceptionAction; |
37 import java.security.PrivilegedExceptionAction; |
37 import java.util.ArrayList; |
38 import java.util.ArrayList; |
470 */ |
471 */ |
471 public static final byte TAG_ExcludedZones = 69; |
472 public static final byte TAG_ExcludedZones = 69; |
472 |
473 |
473 private static Map<String, ZoneInfo> zoneInfoObjects = null; |
474 private static Map<String, ZoneInfo> zoneInfoObjects = null; |
474 |
475 |
475 private static final String ziDir; |
476 private static final String ziDir = AccessController.doPrivileged( |
476 static { |
477 new PrivilegedAction<String>() { |
477 String zi = (String) AccessController.doPrivileged( |
478 public String run() { |
478 new sun.security.action.GetPropertyAction("java.home")) |
479 String zi = System.getProperty("java.home") + |
479 + File.separator + "lib" + File.separator + "zi"; |
480 File.separator + "lib" + File.separator + "zi"; |
480 try { |
481 try { |
481 zi = new File(zi).getCanonicalPath(); |
482 zi = FileSystems.getDefault().getPath(zi).toRealPath(true).toString(); |
482 } catch (Exception e) { |
483 } catch(Exception e) { |
483 } |
484 } |
484 ziDir = zi; |
485 return zi; |
485 } |
486 } |
|
487 }); |
486 |
488 |
487 /** |
489 /** |
488 * Converts the given time zone ID to a platform dependent path |
490 * Converts the given time zone ID to a platform dependent path |
489 * name. For example, "America/Los_Angeles" is converted to |
491 * name. For example, "America/Los_Angeles" is converted to |
490 * "America\Los_Angeles" on Win32. |
492 * "America\Los_Angeles" on Win32. |