Модераторы: javastic, W0LF, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HTTPS, InputStream - не всё читает, почему? 
V
    Опции темы
prog2013
Дата 16.11.2013, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 16.11.2013

Репутация: нет
Всего: нет



Здравствуйте! Помогите, не могу прочитать ответ от сервера полностью.
Использую Get-запрос к веб-серверу по https.
Когда даных мало, всё читается за один раз, а когда их больше 4000 байт, то читается только одна порция.

Использую j2me SDK 3.3 из среды нетбинс в.7. В проге использую стандартное:
Код

InputStream ins;
int len= ins.available();
while (p>0) { p=read(bData, offs, len); ....}


При отладкке заметил. У InputStream есть константа SKIP_BLOCK_SIZE= 4096. Похоже как-то с этим связано, т.к. len= 3759 байт и дальше текст теряется из-за того,  что следующая попытка выполнить  
len= ins.available(); даёт  len = 0.

Писать свой SKIP_BLOCK_SIZE= 8 тыщ. или больше как-то не красиво, а это возвращаются запросы к БД. Как думаете, в чём м.б. дело? Ведь во всех примерах  именно так и пишут, да и в форумах те же примеры гуляют.

PM   Вверх
prog2013
Дата 16.11.2013, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 16.11.2013

Репутация: нет
Всего: нет



В общем сделал пока цикл в цикле. 
Впечателние такое, что  ins.available() нужно "подтолкнуть", чтобы оно прочло следущую порцию.

Код

InputStream ins;
...
while( ins.available() >0) {
     while ( (i= read(bB)) != -1) { 
      //здесь собираем i --> Vector
      ....}
}
//  а здесь Vector --> String  в зависимости от кодировки


А когда будет давать 0 байт при наличии данных, тогда сначала попробую "подтолкнуть" буфер чтением  одного байта =read(); либо сразу поставлю =read(); в первый цикл.

PM   Вверх
qpimap
  Дата 6.5.2015, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 6.5.2015

Репутация: нет
Всего: нет



import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Lab_1 {
public static void main(String[]args) {
FileReader myFile=null;
BufferedReader buff=null;
String line=new String();
 try{
myFile=new FileReader("d:\\a.txt");
buff=new BufferedReader(myFile);
 while(true) {
line=buff.readLine();
if(line==null) break;
System.out.println(line);
char[]m=line.toCharArray();
System.out.println(m[0]);
}
} catch(IOException e) {
e.printStackTrace();
}finally{
  try{
buff.close();
myFile.close();
}catch(IOException e1){
e1.printStackTrace();
}
}
}
}
====================================
вставляешь в файл .txt данные . И на выходе после компиляции получаешь .class 
с массивом который и будешь использовать в своей MIDlet программе как файл с данными ...
очень полезный скрипт при составлении русификаторов или других баз данных в J2ME ...
 smile 

PM MAIL   Вверх
Google
  Дата 19.9.2017, 14:39 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0863 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.