15.06.2014 / 18:02 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Kalter, DataInput.readUTF() - читаю строку формата UTF-8, записанную с помощью DataOutput.writeUTF(String val). Построчно надо грузить вручную в JavaME, а в Java SE есть определенный класс, StrinReader, по-моему.
__________________
знает толк |
15.06.2014 / 18:02 | |
PLUTONiUM Пользователь Сейчас: Offline
Имя: Nameless Откуда: Авалон Регистрация: 14.10.2012
| Kalter (15.06.2014/17:48)Можно ли загрузить текст из файла построчно? Если я делаю так, то в консоли ничего не вижу:[code java]DataInputStream dis=new DataInputStream(getClass().getResourceAsStream("/text.txt"));try{ Охох. Тебе еще учить и учить Яву...
|
15.06.2014 / 18:12 | |
PLUTONiUM Пользователь Сейчас: Offline
Имя: Nameless Откуда: Авалон Регистрация: 14.10.2012
| 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 Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| PLUTONiUM, почему? Я это быстро освою, просто столкнулся с этим впервые и немного не ожидал...
__________________
Homo homini penis est. |
15.06.2014 / 18:23 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| 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 Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| PLUTONiUM, Там ведь еще символы перекодируются в формат UTF-8
__________________
знает толк Изменено vl@volk (15.06 / 18:24) (всего 1 раз) |
15.06.2014 / 18:30 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| Блин, я всё головой бился... Кода просто преобразовать забыл. *facepalm* __________________
Homo homini penis est. |
15.06.2014 / 18:58 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Kalter, public String readLine(InputStream is) {
StringBuffer sb = new StringBuffer();
int ch = is.read();
while (ch != -1 && ch != '\n') {
sb.append(ch);
ch = is.read();
}
return sb.toString();
}
так лучше __________________
знает толк |
15.06.2014 / 21:26 | |
PLUTONiUM Пользователь Сейчас: Offline
Имя: Nameless Откуда: Авалон Регистрация: 14.10.2012
| vl@volk, Kalter'а больше интересовало почему функция readUTF не работает в его примере - я это ему объяснил. А про кодировку он меня не спрашивал |
15.06.2014 / 21:34 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Исправьте && на || PLUTNiUM, так к слову сказал
__________________
знает толк |