При записи строки в файл свойств, как пропустить \? - PullRequest
1 голос
/ 29 марта 2019

Я устанавливаю некоторое строковое содержимое с помощью функции prop.put и записываю его в файл .txt.

Properties prop = new Properties();
OutputStream output = null;

String uName = "Name=Anand, Age=25";
prop.put("User", uName);

output = new FileOutputStream("src/main/resources/node.txt");
prop.store(output, null);

Когда я открываю node.txt, он записывается как User=Name\=Anand, Age\=25. Как записать то же самое в файл без \. то есть User="Name=Anand, Age=25". Может ли кто-нибудь помочь мне здесь?

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Класс Properties не может это поддерживать.Как насчет того, чтобы пересмотреть метод Свойства, магазин?Чтобы реализовать функцию (Properties.saveConvert) самостоятельно!Вы можете удалить код "case '=':", но он поддерживает только запись;

      switch(aChar) {
            case ' ':
                if (x == 0 || escapeSpace)
                    outBuffer.append('\\');
                outBuffer.append(' ');
                break;
            case '\t':outBuffer.append('\\'); outBuffer.append('t');
                      break;
            case '\n':outBuffer.append('\\'); outBuffer.append('n');
                      break;
            case '\r':outBuffer.append('\\'); outBuffer.append('r');
                      break;
            case '\f':outBuffer.append('\\'); outBuffer.append('f');
                      break;
            case '=': // What you need do is to remove this line
            case ':': // Fall through
            case '#': // Fall through
            case '!':
                outBuffer.append('\\'); outBuffer.append(aChar);
                break;
            default:
                if (((aChar < 0x0020) || (aChar > 0x007e)) & escapeUnicode ) {
                    outBuffer.append('\\');
                    outBuffer.append('u');
                    outBuffer.append(toHex((aChar >> 12) & 0xF));
                    outBuffer.append(toHex((aChar >>  8) & 0xF));
                    outBuffer.append(toHex((aChar >>  4) & 0xF));
                    outBuffer.append(toHex( aChar        & 0xF));
                } else {
                    outBuffer.append(aChar);
                }
        }
0 голосов
/ 29 марта 2019

Попробуйте это:

String uName = "\"Name\u003dAnand, Age\u003d25\"";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...