Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Java Нажатие кнопки в браузере https://www.cyberforum.ru/ java/ thread1075577.html
Здравствуйте, столкнулся с задачей. Нужно нажимать кнопку в браузере, проверку на существование кнопки и заданный интервал могу сделать сам. Кнопка выглядит так <a class="button"...
Хитрая модификация байт кода Java
Всем привет! Впервые пришлось встретиться с библиотекой ASM, увы в не очень приятный обстоятельствах, а точнее ошибка программиста. Имеется около 5 тысяч классов, в разных Jar'никах, и во всех...
Java Подскажите технологии и литературу для реализации серверного приложения взаимодействующего с БД https://www.cyberforum.ru/ java/ thread1075073.html
Помогите пожалуйста с направлением обучения. Стоит задача "Написать серверное приложение взаимодействующее с БД. При обращении по URL.." в самой задаче что-то типо записной книжки. Я немножко в...
Java Неправильно работает скрипт сортировки пузырьком https://www.cyberforum.ru/ java/ thread1074485.html
Доброго времени суток. Учу Java. Не могу понять, почему данный код сортировки "пузыриком" не работает. На выходе получаю массив: 478 9956 75849 75 834 584 8746
Java Нарушен принцип инкапсуляции
Под спойлером ссылка на цитату из книги Хорстмана. Не могу до конца разобраться с этим...вроде объявили мы метод как private, но говорят, что "принцип инкапсуляции нарушен"...метода setHire в классе...
Java ломанная линия https://www.cyberforum.ru/ java/ thread1073847.html
Помогите пожалуйста построить в апплете ломаную линию по заданным вершинам. координаты вершин вводяться через текстовое поле и фиксируются нажатием кнопки.
Java Вставка символа в нужной позиции https://www.cyberforum.ru/ java/ thread1073741.html
Здравствуйте. У нас есть массив с позициями: 3, 5, 10. Нам нужно создать строку, на эти позиции вставить нужный символ. Мучил StringBuilder, пытался с помощью insert(3, '!'), но вылетаю по...
Поиск слова в файле Java
Задача найти все "public" и заменить на "private" и подсчитать сколько пабликов в файле. Найти , нашёл. А вот сколько их понять не могу как сделать. Помогите пожалуйста. public static void...
Java Эффект появления страницы html Может кто знает как сделать эффект появление, затухания, (желательно) растворения одной страницы в другой? Не могу найти толковых уроков...да и вообще с джава не сдружилась еще. https://www.cyberforum.ru/ java/ thread1073442.html Java Работа с датой и временем https://www.cyberforum.ru/ java/ thread1073225.html
Написать программу,в которой по известной текущей дате получить кол-во дней, часов, минут и секунд, оставшихся до нового года.
Java приложение для ввода пароля
Написать приложение для ввода пароля из командной строки и сравнения его со строкой-абзацем.
Java Трудности с преобразованием типов объекта класса Здравствуйте. Потребовалось перевести пример компилятора из книги "Компиляторы. Принципы, технологии, инструменты" - исходники с Java на C++. Возникли трудности с преобразованием типов объекта... https://www.cyberforum.ru/ java/ thread1072832.html
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
0

java.io.UTFDataFormatException: malformed input around byte 1 - Java - Ответ 5663830

20.01.2014, 00:10. Показов 3029. Ответов 6
Метки (Все метки)

Какая может быть причина возникновения этого исключения? Возникает при попытке считать методом readUTF() с сети текстовых данных. Возникает через раз и в разных частях программы. Вот последняя точка возникновения исключения:
Java
1
String name = in.readUTF();
Считываю данные с сети:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public ArrayList<ProductDetailsPanel> getAboutProduct(String type) {
        try {
            int count = getCountProduct(type);
            out.write(ShopConstants.GET_PRODUCT);
            ArrayList<ProductDetailsPanel> detailsPanelList = new ArrayList<>();
            out.writeUTF(type);
            for (int i = 0; i < count; i++) {
                ProductDetailsPanel temp = new ProductDetailsPanel();
                int id = in.readInt();
                String name = in.readUTF();
                int price = in.readInt();
                int count1 = in.readInt();
                boolean b = in.readBoolean();
                int size = in.readInt();
                byte arr[] = new byte[size];
                in.read(arr);
                temp.setInformation(id, name, price, count1, b, type);
                temp.setImage(arr);
                detailsPanelList.add(temp);
            }
            return detailsPanelList;
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return null;
    }
Отправляю данные с сети:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
synchronized public void sendAboutProduct() {
            try {
                String type = in.readUTF();
                if (type.equals("all")) {
                    resultSet = statement.executeQuery(
                            "SELECT p.id, p.name, p.price, p.count, p.availability, pi.image "
                            + "FROM product p INNER JOIN product_images pi "
                            + "WHERE p.id = pi.product_id "
                            + "ORDER BY addtime DESC");
                } else {
                    resultSet = statement.executeQuery(
                            "SELECT p.id, p.name, p.price, p.count, p.availability, pi.image "
                            + "FROM product p INNER JOIN product_images pi "
                            + "WHERE p.id = pi.product_id AND type = '" + type + "' "
                            + "ORDER BY addtime DESC");
                }
                int i = 0;
                while (resultSet.next()) {
                    System.out.println((++i));
                    out.writeInt(resultSet.getInt("id"));
                    out.writeUTF(resultSet.getString("name"));
                    out.writeInt(resultSet.getInt("price"));
                    out.writeInt(resultSet.getInt("count"));
                    out.writeBoolean(resultSet.getBoolean("availability"));
                    byte b[] = resultSet.getBytes("image");
                    out.writeInt(b.length);
                    out.write(b);
                }
            } catch (IOException | SQLException ex) {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
        }


Вернуться к обсуждению:
java.io.UTFDataFormatException: malformed input around byte 1 Java
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2014, 00:10
Готовые ответы и решения:

UTFDataFormatException: malformed input around byte 20
Раньше была такая проблема, но ее удалось решить путем использования метода readFully(), который...

Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки)
Создать список из целых чисел.Поменять в списке местами максимальный и минимальный элементы...

Byte в java
Здравствуйте! Почему при преобразовании int s = 250; System.out.println((byte)s); в...

Тип byte[] в java
Всем привет! Разбираюсь с работой с файлами в Java. И в коде встретил такую запись private byte...

6
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2014, 00:10

С# BitmapImage byte[] to java Bitmap
Изображение класса BitmapImage (можно переделать и в System.Drawing.Bitmap - но я уверен не...

Пустой байт в byte Java Jssc
public static String code; public static int i = 0; public static int q = 0; public...

input в java
только начала учить джаву,вот интересно,есть ли в ней cin как в С++,то есть могу ли я вводить сама...

UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 - invalid start byte
Добрый день При вызове скрипта вылетает такая ошибка: &quot;UnicodeDecodeError: 'utf8' codec can't...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.