Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Java Не отображаеться applet в браузере https://www.cyberforum.ru/ java/ thread1087617.html
пытаюсь запустить апплет но он почему-то не хочет запускатся. апплет запускаю в браузере chrome Версия 32.0.1700.102 m перед запуском апплета скачал и установил chromeinstall-7u51, разрешил...
HTML select с использованием MVC Java
Здравствуйте уважаемые форумчане! помогите разобраться с MVC. я только начал изучать JAVA тем более web и никак не могу разобраться с MVC написал простой пример только все в одном т.е. на JSP...
Java Спасите мой мозг. Задание 4)Пользователь вводит строку.Написать метод возвращающий все заглавные буквы в этой строке в виде строки https://www.cyberforum.ru/ java/ thread1087431.html
Уважаемые форумчане, помогите пожалуйста написать решения задач на лекцию на сегодня до 10 утра.. плииз.. Я новичек и даже простые задачки для меня невероятно сложные так как на курсах нам...
Java Спасите мой мозг. Задача 3) Написать метод проверяющий является ли строка поллиндромом(типа arrttrra). Задание Уважаемые форумчане, помогите пожалуйста написать решения задач на лекцию на сегодня до 10 утра.. плииз.. Я новичек и даже простые задачки для меня невероятно сложные так как на курсах нам... https://www.cyberforum.ru/ java/ thread1087430.html
Написать метод возвращающий вторую половину строки Java
Уважаемые форумчане, помогите пожалуйста написать решения задач на лекцию на сегодня до 10 утра.. плииз.. Я новичек и даже простые задачки для меня невероятно сложные так как на курсах нам...
Java Висеть в памяти, пока не закроется процесс https://www.cyberforum.ru/ java/ thread1087363.html
Есть app1.jar, который запускает app2.jar. Идея такова: при запуске app2 необходимо прятать app1, но не закрывать (оставаться в памяти, например для мониторинга того же app2), а после закрытия...
Java Спрятать папку с изображениями У меня в проекте очень много рисованных элементов управления. Например, есть кнопка, которая открывает панель, на которой расположены еще различные элементы управления (ну возьмем кнопку "Создать... https://www.cyberforum.ru/ java/ thread1087356.html Java Рекомендованные книги или сайты по Java
Пробовал начать писать на Java но те книги с которыми я встречался не очень понятно написаны. Помогите со списком рекомендованной литературы на пути к профессиональному изучению веб-языков!
Java Переносимость с Windows в Ubuntu https://www.cyberforum.ru/ java/ thread1087269.html
Ранее программу писал на Windows 7, затем сменил операциюку на Ubuntu 13.10 и возникли некоторые проблемы. В программе в JTextField я на фон вставлял изображения. Но при переходе на Ubuntu ну никак...
Java MultiMap стандартными стредствами Доброго времени суток! Возникла необходимость использовать структуру данных которая бы поддерживала неуникальность ключей и значений. О сторонних библиотеках я знаю, но необходимо извернуться... https://www.cyberforum.ru/ java/ thread1087266.html
Java Подскажите книгу где бы разъяснялось про работу CallBack (Обратный вызов) функций
Здравствуйте. Подскажите пожалуйста книгу где бы разъяснялось про работу CallBack (Обратный вызов) функций.
Java Исполняемый jar файл, ubuntu https://www.cyberforum.ru/ java/ thread1087121.html
Добрый вечер, пытаюсь создать исполняемый jar файл, все делал следую инструкции так сказать. Программа скомпилировалась и выполнилась. dell@dell-Latitude-E6530:~/workspace/Work2$ javac -d ./bin...
43 / 43 / 15
Регистрация: 10.09.2013
Сообщений: 293
0

UTFDataFormatException: malformed input around byte 20 - Java - Ответ 5729153

02.02.2014, 17:20. Показов 1239. Ответов 1
Метки (Все метки)

Раньше была такая проблема, но ее удалось решить путем использования метода readFully(), который считывал все байты из потока. Исключение происходит после выполнения этого метода 2 раз в этом месте:
Java
1
2
temp.setInformation(in.readInt(), in.readUTF(), in.readInt(), 
                        in.readInt(), in.readBoolean(), in.readUTF(), 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> getFindProductForUser(String text){
        try {
            out.writeInt(ShopConstants.GET_FIND_PRODUCT_USER);
            out.writeInt(id);
            out.writeUTF(text);
            int count = in.readInt();
            ArrayList<ProductDetailsPanel> detailsPanelList = new ArrayList<>();
            for (int i = 0; i < count; i++) {
                ProductDetailsPanel temp = new ProductDetailsPanel(ShopConstants.ACCOUNT, this);
                temp.setInformation(in.readInt(), in.readUTF(), in.readInt(), 
                        in.readInt(), in.readBoolean(), in.readUTF(), in.readUTF());
                
                final int size_photo = in.readInt();
                byte arr[] = new byte[size_photo];
                in.readFully(arr);
                temp.setImage(arr);
                detailsPanelList.add(temp);
            }
            out.flush();
            
            return detailsPanelList;
        } catch (IOException ex) {
            Logger.getLogger(Content.class.getName()).log(Level.SEVERE, null, ex);
        }
        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
33
34
35
36
37
38
39
synchronized public void sendAboutProductFoundForUser() {
            try {
                int user_id = in.readInt();
                String text = in.readUTF();
                
                resultSet = statement.executeQuery(
                        "SELECT COUNT(*) count "
                        + "FROM (SELECT account_id, name "
                            + "FROM product "
                            + "WHERE account_id = " + user_id + ") e "
                        + "WHERE e.name LIKE '%" + text + "%'");
                if (resultSet.next()) {
                    out.writeInt(resultSet.getInt("count"));
                }
                resultSet = statement.executeQuery(
                        "SELECT p.id, p.name, p.price, p.count, p.availability, p.type, p.e_mail, p.image "
                        + "FROM (SELECT prod.id, prod.name, prod.price, prod.count, prod.availability, cw.type, ac.e_mail, prod.addtime, pi.image "
                            + "FROM product prod INNER JOIN product_images pi INNER JOIN class_weapons cw INNER JOIN account ac "
                            + "WHERE prod.class_weapons_id = cw.id AND prod.id = pi.product_id AND prod.account_id = " + user_id + ") p "
                        + "WHERE p.name LIKE '%" + text + "%' "
                        + "ORDER BY p.addtime DESC");
                while (resultSet.next()) {
 
                    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"));
                    out.writeUTF(resultSet.getString("type"));
                    out.writeUTF(resultSet.getString("e_mail"));
                    byte b[] = resultSet.getBytes("image");
                    out.writeInt(b.length);
                    out.write(b);
                }
                out.flush();
            } catch (IOException | SQLException ex) {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
Добавлено через 10 минут
Тему можно закрыть. Оказывается ошибка была в запросе к бд. Нужно было добавить еще одно условие в блок WHERE.

Вернуться к обсуждению:
UTFDataFormatException: malformed input around byte 20 Java
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2014, 17:20
Готовые ответы и решения:

java.io.UTFDataFormatException: malformed input around byte 1
Какая может быть причина возникновения этого исключения? Возникает при попытке считать методом...

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

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

'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Работаю с библиотеками PIL и telebot В чем может быть проблема ? Ошибка - 'utf-8' codec can't...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2014, 17:20

Перевести строку, содержащую данные массива байт (byte[]) в byte[]
Приветствую. Есть такая строка - &quot;&quot; Как её перевести в массив байт? 1. Допустим, что...

Invalid byte 1 of 1-byte UTF-8 sequence - ошибка (Intellij idea)
Есть небольшой проект, точнее, только зачаток, запускается нормально, но при сборке в jar ругается,...

преобразование ref byte в byte[] или в IntPtr без использования неуправляемого кода
есть COM интерфейс с методом: virtual /* */ HRESULT STDMETHODCALLTYPE OnReceivePacket( ...

Как перевести byte[] или переменную типа IntPtr к типу byte[] (ассемблерные инструкции)?
Наткнулась на проблему, нужно перевести тип IntPtr в массив ассемблерной инструкции. Вот пример...

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