Base64Helper.javaПакет: org.projectforge.framework.utils
Классы: Base64Helper
Методы (2): decodeObject, encodeObject
Импорты: 2 пакета
package org.projectforge.framework.utils;
import org.apache.commons.codec.binary.Base64;
import java.io.*;
/*******************************************************************************************************************************************
* Вспомогательный класс для кодирования/декодирования сериализуемых объектов в base64 представление.
*
* @see java.io.ObjectInputStream
* @see java.io.ObjectOutputStream
* @author Wolfgang Jung (w.jung@micromata.de)
*
* TODO DESIGNBUG избыточно
*/
public class Base64Helper
{
/*****************************************************************************************************************************************
* Преобразует заданное base64 представление в объект.
*
* @param base64object объект, закодированный в base64
* @return десериализованный объект
* @throws IOException если base64 представление не содержит объект
* @throws ClassNotFoundException если десериализованный объект не может быть разрешён
*/
public static Object decodeObject(String base64object) throws IOException, ClassNotFoundException
{
ObjectInputStream ois = new ObjectInputStream(
new ByteArrayInputStream(Base64.decodeBase64(base64object.getBytes())));
Object o = ois.readObject();
ois.close();
return o;
}
/*****************************************************************************************************************************************
* Кодирует объект в base64 представление
*
* @param obj сериализуемый объект
* @return строковое представление
* @throws IOException если объект не сериализуем
*/
public static String encodeObject(Object obj) throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
oos.close();
return new String(Base64.encodeBase64(baos.toByteArray()));
}
}
868d6abb7 2025 -> 2026 63081666f Заголовки исходных файлов: 2024 -> 2025. b6092df09 Авторские права 2023 -> 2024 ab45d51fa Авторские права 2001-2022 -> 2001-2023. 5f7ef41b8 Авторские права 2021 -> 2022