Olá a todos:
não sei como colocar o caminho corretamente para encontrar e ler o arquivo Teste.txt no meu SmartPhone.
Ele está na pasta Application.
Obrigado a quem puder ajudar.
public String lerArquivo(){
try{
int chr = 0;
InputStream arquivo = getClass().getResourceAsStream("[b]Teste.txt[/b]");
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;
}
Vc ta mostrando o resultado na system…aonde vc ta executando isso? No emulador?
S
silvio.cavalheri
É no coletor.
Mas comento a linha do system.out…
FernandoFranzini
Não ta mostrando pq no codigo vc não ta fazendo nada visual…
S
silvio.cavalheri
Está dentro de uma Thread e ela não termina, trava.
dj11
tem como postar mais detalhes do codigo? para q possamos verificar melhor onde está o problema…vc falou em um erro na execução de um Thread… parece um erro de lógica e não de código em si…
S
silvio.cavalheri
Olá,
mudei para FileConnection para ver no que dá.
E também não consegui.
Caio sempre no exception.
Vai a lógica e o código:
Ao acionar o item de menu importar, chamo o método:
private void connectThread(){
t = new Thread(this);
t.start();
}
que por sua vez:
public void run() {
if (sThread.equals("cImporta")){
LeArquivo();
}
}
método LeArquivo:
privatevoidLeArquivo(){StringnomeArquivo="Silvio.txt";try{FileConnectionfc=(FileConnection)Connector.open("file:///e:/Application/"+nomeArquivo,Connector.READ_WRITE);if(!fc.exists()){mostrarAlerta1("ERRO","Arquivo não encontrado!!!");}else{InputStreamis=fc.openInputStream();byteb[]=newbyte[1024];intlength=is.read(b,0,1024);//form.append("Conteúdo do arquivo "+nomeArquivo + ": \n"+ new String(b, 0, length),null);mostrarAlerta1("CORRETO","Arquivo encontrado!!!");}fc.close();}catch(Exceptione){mostrarAlerta1("ERRO","Erro na lógica");}
S
silvio.cavalheri
Pessoal,
utlizei este comando para verificar se api FileConnection está disponível no aparelho
e não está:
boolean isAPI = System.getProperty("microedition.io.file.FileConnection.Version") != null;
if (!isAPI){
mostrarAlerta("ERRO", "JSR75 não disponível");
}else{
mostrarAlerta("CORRETO", "JSR75 disponível");
}
Peço por gentileza o favor de verificarem se estou correto.
É um motorola MC65 - windows mobile 6.5
E
edwagner
Você só precisa colocar seu texto na pasta “/res” do projeto e para acessá-lo basta colocar o nome dele:
No Netbeans você seleciona o projeto, vai em Propriedades, vai em Bibliotecas & Recursos, Adicionar pasta, e adiciona a pasta /res.
Só isto.
InputStream is = getClass().getResourceAsStream("Texto.txt");
S
silvio.cavalheri
Obrigado!!!
Mas pela falta de conhecimento faço uma pergunta:
Posso acessar este arquivo “Texto.txt” em uma pasta do celular ou ele será sempre fixo junto com o aplicativo?
É que este arquivo texto vai estar no celular e vai mudar o conteúdo sempre.
Obrigado!
S
silvio.cavalheri
Vejam como ficou:
funcionou legal para Motorola MC65 - windows mobile 6.5
Este site ajudou muito: http://www.lte.com.tr/uploads/pdfa/31.pdf
Obrigado a todos que me ajudaram.
String nomeArquivo = "file:////Application/Silvio.txt";
try
{
FileConnection fc = (FileConnection) Connector.open("file:////Application/Silvio.txt");
if (!fc.exists())
{
mostrarAlerta1("ERRO", "Arquivo não encontrado!!!");
}
else
{
InputStream is = fc.openInputStream();
StringBuffer stb = new StringBuffer();
byte b[] = new byte[1];
int chr = 0;
while ((chr = is.read())!= -1) {
stb.append((char)chr);
char st = (char)chr;
if (st=='\n') {
//System.out.println("Quebra de linha");
}
}
is.close();
mostrarAlerta1("CORRETO", stb.toString());
}
fc.close();
}
catch (Exception e)
{
mostrarAlerta1("ERRO", "lógica");
}
E
edwagner
Obrigado!!!
Mas pela falta de conhecimento faço uma pergunta:
Posso acessar este arquivo “Texto.txt” em uma pasta do celular ou ele será sempre fixo junto com o aplicativo?
Eu dei a sujestão anterior porque você estava usando getResourceAsStream(). Para este método o arquivo tem que estar no Jar, como eu te expliquei, e ele fica fixo, não pode ser alterado. Para acessar arquivos você precisa usar FileConnection(). Este link ensina tudo: http://developers.sun.com/mobility/apis/articles/fileconnection/
Um abraço.
S
silvio.cavalheri
Mais uma vez obrigado!!!
É muito bom ter conhecimento.
Agora conheço estas duas maneiras de acessar arquivos textos.
Valeu mesmo.