Вниз  Java-программирование (1-ые посты)
- 15.06.2014 / 18:02
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Kalter, DataInput.readUTF() - читаю строку формата UTF-8, записанную с помощью DataOutput.writeUTF(String val).
Построчно надо грузить вручную в JavaME, а в Java SE есть определенный класс, StrinReader, по-моему.
__________________
 знает толк
- 15.06.2014 / 18:02
PLUTONiUM
  Пользователь

PLUTONiUM 
Сейчас: Offline
Kalter (15.06.2014/17:48)Можно ли загрузить текст из файла построчно? Если я делаю так, то в консоли ничего не вижу:[code java]DataInputStream dis=new DataInputStream(getClass().getResourceAsStream("/text.txt"));try{ Охох. Тебе еще учить и учить Яву...
- 15.06.2014 / 18:12
PLUTONiUM
  Пользователь

PLUTONiUM 
Сейчас: Offline
vl@volk (15.06.2014/18:02)Kalter, DataInput.readUTF() - читаю строку формата UTF-8, записанную с помощью DataOutput.writeUTF(String val). Построчно надо грузить вручную в JavaME, а в Java SE есть определенный класс, StrinReА если еще точнее:
1. Функция readUTF считывает два байта из потока DataInputStream, далее по тексту - первый байт b1, второй b2.
2. Эти два байта определяют длину строки, максимальная длина строки - 64 килобайт. Строка идет сразу за этими двумя байтами.
3. Функция readUTF - читает строку записанную функцией: DataOutputStream.writeUTF(String).
4. Длина строки -это b1 * 256 + b2 (в оригинальне функции используются битовые операции, но тут я для наглядности показал обычное умножение). Например b1=56, b2=202 - длина строки 14538 байт (56 * 256 + 202).
5. Функция считывает следующие байты, заданной длины первыми байтами.

Изменено PLUTONiUM (15.06 / 18:15) (всего 6 раз)
- 15.06.2014 / 18:18
Kalter
  Пользователь

Kalter 
Сейчас: Offline
PLUTONiUM, почему? Я это быстро освою, просто столкнулся с этим впервые и немного не ожидал...
__________________
 Homo homini penis est.
- 15.06.2014 / 18:23
Kalter
  Пользователь

Kalter 
Сейчас: Offline
vl@volk (15.06.2014/18:02)Kalter, DataInput.readUTF() - читаю строку формата UTF-8, записанную с помощью DataOutput.writeUTF(String val). Построчно надо грузить вручную в JavaME, а в Java SE есть определенный класс, StrinReСпасибо.
__________________
 Homo homini penis est.
- 15.06.2014 / 18:24
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
PLUTONiUM, Там ведь еще символы перекодируются в формат UTF-8
__________________
 знает толк

Изменено vl@volk (15.06 / 18:24) (всего 1 раз)
- 15.06.2014 / 18:30
Kalter
  Пользователь

Kalter 
Сейчас: Offline
Блин, я всё головой бился...
  1. text+=dis.read();
Кода просто преобразовать забыл.
  1. text+=(char)dis.read();
*facepalm*
__________________
 Homo homini penis est.
- 15.06.2014 / 18:58
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Kalter,
  1. public String readLine(InputStream is) {
  2.     StringBuffer sb = new StringBuffer();
  3.     int ch = is.read();
  4.     while (ch != -1 && ch != '\n') {
  5.         sb.append(ch);
  6.         ch = is.read();
  7.     }
  8.     return sb.toString();
  9. }

так лучше
__________________
 знает толк
- 15.06.2014 / 21:26
PLUTONiUM
  Пользователь

PLUTONiUM 
Сейчас: Offline
vl@volk, Kalter'а больше интересовало почему функция readUTF не работает в его примере - я это ему объяснил. А про кодировку он меня не спрашивал :pardon:
- 15.06.2014 / 21:34
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Исправьте && на ||
PLUTNiUM, так к слову сказал
__________________
 знает толк
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)