|
|
|
Stream OutOfMemoryError
|
|||
|---|---|---|---|
|
#18+
Я новичок в java. Есть потребность забирать xml - файл с сервера, размер файла ~100K. Вот код: String Data = null; try { HttpConnection Connection = (HttpConnection)Connector.open("http://.../2006-12-12.xml"); InputStream Stream = Connection.openInputStream(); byte[] Buffer = new byte[1024]; int BytesRead = 0; try { while (true) { BytesRead = Stream.read(Buffer); if (BytesRead > 0) { Data += new String(Buffer, "UTF8"); } else { break; } } } catch (OutOfMemoryError err) { Data = "Out of Memory Error!"; } finally { Stream.close(); } Connection.close(); Form form = new Form("Test"); form.append(Data); Display.getDisplay(this).setCurrent(form); } catch (IOException ioe) { throw new MIDletStateChangeException("Network not available"); } Внутренний try catch блок постоянно выдает OutOfMemoryError, в чем может быть дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 13:32:56 |
|
||
|
Stream OutOfMemoryError
|
|||
|---|---|---|---|
|
#18+
Tassadar77Я новичок в java. Есть потребность забирать xml - файл с сервера, размер файла ~100K. Data += new String(Buffer, "UTF8"); рискну предположить из за нехватки памяти, т.к. она у тя шахматка... меняй нафиг эту строчку на StringBuilder . append(...) и будет тебе счастье! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 11:28:01 |
|
||
|
Stream OutOfMemoryError
|
|||
|---|---|---|---|
|
#18+
Судя по Код: plaintext 1. 2. 3. Зато есть StringBuffer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 11:34:23 |
|
||
|
Stream OutOfMemoryError
|
|||
|---|---|---|---|
|
#18+
Все правильно, во время цикла при каждой итерации создается новый объект Стринг, что сильно засоряет память, необходимо более внимательно изучить основы Java, потому как незнание того, что объект String - неизменяемый(не считая хакерских заморочек), может привести вас к подобным граблям. Вывод - конечно используйте StringBuffer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 16:00:23 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2146803]: |
0ms |
get settings: |
16ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
62ms |
get topic data: |
14ms |
get first new msg: |
9ms |
get forum data: |
4ms |
get page messages: |
69ms |
get tp. blocked users: |
3ms |
| others: | 305ms |
| total: | 520ms |

| 0 / 0 |
