Сжатие / распаковка строк LZMA в Java

#java #string #lzma

#java #строка #lzma

Вопрос:

На стороне клиента у меня есть LZMA-JS, сжимающий обычный текст и отправляющий его на сервер в виде строки. До сих пор все реализации LZMA Java, которые я нашел, принимают File или InputStream в качестве аргумента. Существует ли какая-либо реализация, которая использует строку непосредственно в качестве входных данных, или я должен написать оболочку строки InputStream вокруг данных, полученных от клиента?

Ответ №1:

Просто оберните свою строку в InputStream:

 InputStream stream = new ByteArrayInputStream(
    lzmaString.getBytes(StandardCharsets.UTF_8)
);
 

Теперь вы можете использовать строку в качестве источника для InputStream, который библиотека хочет использовать.