Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как десериализовать BigInteger? / 11 сообщений из 11, страница 1 из 1
17.11.2014, 21:19
    #38808843
IShapovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как десериализовать BigInteger?
Не получается дисериализовать 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
17.11.2014, 21:24
    #38808848
IShapovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как десериализовать BigInteger?
Сериализация:
Код: 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
17.11.2014, 21:39
    #38808862
IShapovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как десериализовать BigInteger?
Так тоже не работает
Код: 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
17.11.2014, 22:59
    #38808902
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как десериализовать BigInteger?
IShapovalov
Код: java
1.
id.add(increment);

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


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

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

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

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


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


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

в переменую id https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html
начинается со слов "Immutable arbitrary-precision integers."
...
Рейтинг: 0 / 0
18.11.2014, 11:29
    #38809231
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как десериализовать BigInteger?
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
Форумы / Java [игнор отключен] [закрыт для гостей] / Как десериализовать BigInteger? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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