Pessoal queria que voçes dassem uma olhada nesse código j2me:
FileConn... file=//Pega arquivo de 3Mb e abre InputStream in.
byte[] buffer=new byte[3*1000*1024];//3Mb
in.read(b,0,3*1000*1024);//Armazena 3mb em uma variavel ,nao é isso ?, da OutOfMemory certo ?
tenha certeza que o tamanho do buffer é suficiente .
você pode colocar o tamanho dele dinamico , apartir do tamanho do arquivo que está lendo;
AntonioDiego
Valeu cara.
E esse int bytesLidos nao serve pra nada nao né ? Porque o que eu preciso e somente o array de bytes certo ?
viniciusalvess
Serve sim , porque dependendo do protocolo de comunicação você deve ficar lendo até a quantidade de bytes que deseja seja atingida ou até o time out que colocar estourar !
carlos.e.a
Cara nao sei como esta a sua aplicacao, mas geralmente se voce pretende ler esse arquivo todo pode valer a pena deixar os 3mb…alguns casos pode valer a pena deixar ate mais…afinal, nao existe nada mais custoso que IO. Alias existe, acesso de rede. Entao caso o teu app alem de ler for em alguma rede pra fazer isso, é bom que faça tudo de uma vez só ou pelo menos o minimo de vezes possivel.