Ola pessoal, estou fazendo um programa que le um arquivo de texto dentro do midlet e jogue pra uma linha da lista.
No emulador esta funcionando as mil maravilhas, mas no celular esta ocorrendo o erro Java.langSecurityException na hora de abrir o arquivo.
Estou usando esse codigo para abrir e jogar na lista:
public void LeTexto() {
String url = "file:///root1/meutexto.txt";
try {
FileConnection fc = (FileConnection)Connector.open(url, Connector.READ_WRITE);
list.deleteAll();
if (!fc.exists()) {
list.append("Arquivo não encontrado!", null);
} else {
InputStream is = fc.openInputStream();
byte b[] = new byte[1024];
int length = is.read(b, 0, 1024);
list.append(new String(b, 0, length), null);
}
fc.close();
} catch (Exception e) {
e.printStackTrace();
list.append("Erro!", null);
list.append(e.toString(), null); //mostra o erro na lista
}
}
Tambem tentei executar um visualizador de arquivos (Aquele que tem nos componentes do netbeans com midlet visual)
e o celular retornou um erro falando que eu nao estava autorizado para executar aquele midlet.
[quote=gabrielbiga]Ola pessoal, estou fazendo um programa que le um arquivo de texto dentro do midlet e jogue pra uma linha da lista.
No emulador esta funcionando as mil maravilhas, mas no celular esta ocorrendo o erro Java.langSecurityException na hora de abrir o arquivo.
Estou usando esse codigo para abrir e jogar na lista:
public void LeTexto() {
String url = "file:///root1/meutexto.txt";
try {
FileConnection fc = (FileConnection)Connector.open(url, Connector.READ_WRITE);
list.deleteAll();
if (!fc.exists()) {
list.append("Arquivo não encontrado!", null);
} else {
InputStream is = fc.openInputStream();
byte b[] = new byte[1024];
int length = is.read(b, 0, 1024);
list.append(new String(b, 0, length), null);
}
fc.close();
} catch (Exception e) {
e.printStackTrace();
list.append("Erro!", null);
list.append(e.toString(), null); //mostra o erro na lista
}
}
Tambem tentei executar um visualizador de arquivos (Aquele que tem nos componentes do netbeans com midlet visual)
e o celular retornou um erro falando que eu nao estava autorizado para executar aquele midlet.
Valeus.[/quote]
Tente testar em outro aparelho. Muito provavelmente o aparelho está bloqueando o acesso aos arquivos.
Você tem que ver se esse aparelho tem na sua especificação alguma API que permite acessar arquivos.
Lembre que por segurança as fabricantes limitas o escopo dos programas protegendo os dados importantes (fotos, agenda telefonica, etc) de programas malicioso.
Mas… Tem solucao? andei procurando no Google e achei o parametro MIDlet-Permissions que coloca no JAD mas nao consegui fazer funcionar ainda. Alguem tem + sujestoes?