Boa tarde a todos.
Gostaria de saber como se lê um arquivo txt utilizando J2ME. Fiz várias pesquisas, mas não encontrie nada sobre J2ME, somente J2SE.
Grato pela atenção.
Boa tarde a todos.
Gostaria de saber como se lê um arquivo txt utilizando J2ME. Fiz várias pesquisas, mas não encontrie nada sobre J2ME, somente J2SE.
Grato pela atenção.
[quote=Turbo_Drive] Boa tarde a todos.
Gostaria de saber como se lê um arquivo txt utilizando J2ME. Fiz várias pesquisas, mas não encontrie nada sobre J2ME, somente J2SE.
Grato pela atenção.[/quote]
Este link te dá dois métodos para isto.
Você pode utilizar este método que retorna uma String com o conteudo do arquivo que esta na pasta da aplicação:
public String lerArquivo(){
try{
int chr = 0;
InputStream arquivo = getClass().getResourceAsStream("config.txt");
StringBuffer stb = new StringBuffer();
while ((chr = arquivo.read())!= -1) {
stb.append((char)chr);
}
return stb.toString();
}catch (Exception e){
e.printStackTrace();
}
return null;
}
a Maneira que eu conheço é mais ou menos assim:
//vc precisa usar o fileBrowser para manipular o diretorio, e o textbox para ler o arquivo.
private FileBrowser fileBrowser;
private TextBox textBox;
//no commandAction você chama o metodo para ler o arquivo e pede para abrilo no textbox
public void commandAction(Command command, Displayable displayable) {
if (displayable == fileBrowser) {
if (command == FileBrowser.SELECT_FILE_COMMAND) {
lerArquivo();
switchDisplayable(null, getTextBox());
}
}
public void lerArquivo() {
try {
FileConnection file = getFileBrowser().getSelectedFile();
InputStream fis = file.openDataInputStream();
byte[] b = new byte[1024];
int tamanho = fis.read(b, 0, 1024);
if (tamanho > 0) {
getTextBox().setString(new String(b, 0, tamanho));
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Valeu kotonet_ga, muito útil seu exemplo, tava googlano até agora. 
Onde eu armazeno o arquivo txt???
Do mesmo lugar de onde foi lido, ou no RMS.
Não consigo ler nem gravar em lugar nenhum… só recebo permissão negada… preciso gravar na memória interna. Consigo copiar do pc para o celular (bluetooth) mas na hora de gravar ou ler um arquivo pela minha aplicação, necas… ??
este tópico resolveu meu problema para leitura de arquivo texto:
O aparelho que estou usando implementa JSR75 sim, no caso descobri que ele não permiti trabalhar com o arquivo em qq pasta. Quando coloquei o arquivo dentro da pasta de imagens ele permitiu a leitura, mas creio que deve ser por causa da aplicação não ser assinada. imagino que assinando a aplicação o arquivo possa ser lido de qq lugar…
[quote=sedmalakian]a Maneira que eu conheço é mais ou menos assim:
[code]
//vc precisa usar o fileBrowser para manipular o diretorio, e o textbox para ler o arquivo.
private FileBrowser fileBrowser;
private TextBox textBox;
//no commandAction você chama o metodo para ler o arquivo e pede para abrilo no textbox
public void commandAction(Command command, Displayable displayable) {
if (displayable == fileBrowser) {
if (command == FileBrowser.SELECT_FILE_COMMAND) {
lerArquivo();
switchDisplayable(null, getTextBox());
}
}
public void lerArquivo() {
try {
FileConnection file = getFileBrowser().getSelectedFile();
InputStream fis = file.openDataInputStream();
byte[] b = new byte[1024];
int tamanho = fis.read(b, 0, 1024);
if (tamanho > 0) {
getTextBox().setString(new String(b, 0, tamanho));
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
[/code][/quote]
Olá,
tem como fazer ler linha a linha?, eu precisva ler linha a linha e colocar os dados em um vetor, para depois colocar em recordStore.
Grato.
É só pegar a quebra da linha:
public String lerArquivo(){
try{
int chr = 0;
InputStream arquivo = getClass().getResourceAsStream("config.txt");
StringBuffer stb = new StringBuffer();
while ((chr = arquivo.read())!= -1) {
stb.append((char)chr);
char st = (char)chr;
if (st=='\n') {
System.out.println("Quebra de linha");
}
}
return stb.toString();
}catch (Exception e){
e.printStackTrace();
}
return null;
}