jdk/src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java
changeset 30789 9eca83469588
parent 30641 701f6f90dc0b
child 32037 ab4526f4ac10
equal deleted inserted replaced
30788:ea573d35531a 30789:9eca83469588
  1011      * to java string.  See
  1011      * to java string.  See
  1012      * {@link #toWindowsValueString(String) toWindowsValueString()} for the
  1012      * {@link #toWindowsValueString(String) toWindowsValueString()} for the
  1013      * description of the encoding algorithm.
  1013      * description of the encoding algorithm.
  1014      */
  1014      */
  1015      private static String toJavaValueString(byte[] windowsNameArray) {
  1015      private static String toJavaValueString(byte[] windowsNameArray) {
  1016         // Use modified native2ascii algorithm
       
  1017         String windowsName = byteArrayToString(windowsNameArray);
  1016         String windowsName = byteArrayToString(windowsNameArray);
  1018         StringBuilder javaName = new StringBuilder();
  1017         StringBuilder javaName = new StringBuilder();
  1019         char ch;
  1018         char ch;
  1020         for (int i = 0; i < windowsName.length(); i++){
  1019         for (int i = 0; i < windowsName.length(); i++){
  1021             if ((ch = windowsName.charAt(i)) == '/') {
  1020             if ((ch = windowsName.charAt(i)) == '/') {
  1053      * Converts value string to it Windows representation.
  1052      * Converts value string to it Windows representation.
  1054      * as a byte-encoded string.
  1053      * as a byte-encoded string.
  1055      * Encoding algorithm adds "/" character to capital letters, i.e.
  1054      * Encoding algorithm adds "/" character to capital letters, i.e.
  1056      * "A" is encoded as "/A". Character '\' is encoded as '//',
  1055      * "A" is encoded as "/A". Character '\' is encoded as '//',
  1057      * '/' is encoded as  '\'.
  1056      * '/' is encoded as  '\'.
  1058      * Then encoding scheme similar to jdk's native2ascii converter is used
  1057      * Then convert java string to a byte array of ASCII characters.
  1059      * to convert java string to a byte array of ASCII characters.
       
  1060      */
  1058      */
  1061     private static byte[] toWindowsValueString(String javaName) {
  1059     private static byte[] toWindowsValueString(String javaName) {
  1062         StringBuilder windowsName = new StringBuilder();
  1060         StringBuilder windowsName = new StringBuilder();
  1063         for (int i = 0; i < javaName.length(); i++) {
  1061         for (int i = 0; i < javaName.length(); i++) {
  1064             char ch = javaName.charAt(i);
  1062             char ch = javaName.charAt(i);