JavaME - Importacao Txt (Help Falta Pouco)

Com esse código eu consigo importar o arquivo…porem ele vem todo o conteudo, funciona para textos curtos, por isso eu preciso usar um buffer ou entao ler linha a linha…como posso fazer isso??

            InputStream input = getClass().getResourceAsStream("Exportacao Produtos.txt");
            String str;
            try {
                InputStreamReader inR = new InputStreamReader(input);
                byte[] b = new byte[1024];
                
                int length = input.read(b, 0, 1024);
                txt.setString(new String(b, 0, length));
                
            } catch (IOException ex) {
                ex.printStackTrace();
            }

Bem amigo primeiramente se vc for upar isso para um TextBox que é o mais adequado para mostrar… vc deve aumentar o Buffer dele dependendo de quantos KB’s vc irá passar…
Vc pode fazer isso dessa maneira:

int tamanho = 20000;
textBox.setMaxSize(tamanho);

Onde textBox é um objeto instanciado de TextBox e setMaxSize é o tamanho máximo de buffer. 20000 daria aproximadamente 20KB para texto.
Faça um for ou um while com incrementação para ler seu arquivo da posição inicial até .getLenght() , geralmente quando vc realiza a conexão via Http ele já sabe mais ou menos o tamanho do .txt que vc irá baixar. É só vc pegar o tamanho máximo da conexão…

con.getLenght();

Onde con é a conexão que vc realizou via HttpConnection com o Servlet.
Geralmente quando vc esta fazendo um download via celular para o Cliente não achar que a aplicação travou, vale apena colocar um Gauge não interativo e incrementar ele via um while, quando vc pega no laço 1 KB vc aumenta 1 do Gauge, fazendo que seu maxValue seja o .getLenght() ou seja o tamanho total do arquivo.

Vale resaltar duas coisas:
Quando uma conexão Http é bem sucedida ela retorna uma constante HTTP_OK que vc pode explorar com if’s para baixar e com elses para mostrar exceções.

E a conexão deve ter uma thread para baixar o arquivo se não a interface gráfica corre o risco de travar na hora da execução da conexão.

Espero que essas dicas tenham te ajudado amigo… até mais!