JavaME - Importacao Txt (Help Falta Pouco)

1 resposta
C

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();
            }

1 Resposta

DEAD

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!

Criado 20 de agosto de 2007
Ultima resposta 21 de ago. de 2007
Respostas 1
Participantes 2