powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как десериализовать BigInteger?
11 сообщений из 11, страница 1 из 1
Как десериализовать BigInteger?
    #38808843
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается дисериализовать BigInteger
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BigInteger id;
 try {
                        ObjectInputStream in = new ObjectInputStream(new
                                FileInputStream("id.bin"));
                        id = (BigInteger)in.readInt();
                        in.close();
                    }
                    catch(IOException e) {
                        System.out.println("Some error occurred!");
                    }
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38808848
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сериализация:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    public static BigInteger id = valueOf(0);
    public static BigInteger increment = BigInteger.valueOf(1L);
    public Singleton() {
        id.add(increment);
        try {
            ObjectOutputStream out = new
                    ObjectOutputStream(new
                    FileOutputStream("id.bin"));
            out.writeObject(id);
            out.close();
        }
        catch(IOException e) {
            System.out.println("Some error occurred!");
        }
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38808862
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так тоже не работает
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
   try {
                        ObjectInputStream in = new ObjectInputStream(new
                                FileInputStream("id.bin"));
                        id = (BigInteger)in.readObject();
                        in.close();
                    }
                    catch(IOException e) {
                        System.out.println("Some error occurred!");
                    }
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38808902
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalov
Код: java
1.
id.add(increment);

вот от етого что ожидается?
мне просто интересно
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38808903
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalov
Код: java
1.
2.
3.
catch(IOException e) {
                        System.out.println("Some error occurred!");
                    }


System.out.println("Some error occurred!");
e.printStack...
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38809097
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grasoff.net,
Инкримент. Следующее значение.
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38809101
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovgrasoff.net,
Инкримент. Следующее значение.следующее значение - куда, по-твоему, попадёт?
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38809122
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grasoff.net,

в переменую id
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38809182
DDiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalov,

есть вариант на SO

Код: java
1.
out.writeObject(id.toByteArray());


и
Код: java
1.
id = new BigInteger((byte[]) in.readObject());


как вариант
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38809221
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalovgrasoff.net,

в переменую id https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html
начинается со слов "Immutable arbitrary-precision integers."
...
Рейтинг: 0 / 0
Как десериализовать BigInteger?
    #38809231
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDiverIShapovalov,

есть вариант на SO

Код: java
1.
out.writeObject(id.toByteArray());



и
Код: java
1.
id = new BigInteger((byte[]) in.readObject());



как вариантда почто так всё сложно-то
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        BigInteger bi = BigInteger.valueOf(new Random().nextLong());
        System.out.println(bi);

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ObjectOutputStream os = new ObjectOutputStream(bos);
        os.writeObject(bi);

        byte[] data = bos.toByteArray();
        System.out.println(Arrays.toString(data));

        ByteArrayInputStream bis = new ByteArrayInputStream(data);
        ObjectInputStream is = new ObjectInputStream(bis);
        Object o = is.readObject();
        System.out.println(o.getClass().getName());

        bi = (BigInteger) o;
        System.out.println(bi);
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как десериализовать BigInteger?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]