erro ao ler um arquivo no meu aplicativo android:
06-17 14:50:30.773: WARN/System.err(277): java.io.FileNotFoundException: /C:/Desenv/workspace/AplicativoP/assets/t.txt (No such file or directory)
o erro acontece quando tento isso:
InputStream arquivo = new FileInputStream (urlArquivo);
q q eu faço? Tenho q conseguir isso o mais rapiido possivel. Me ajudem porfavor!
[quote=sarkozy]erro ao ler um arquivo no meu aplicativo android:
06-17 14:50:30.773: WARN/System.err(277): java.io.FileNotFoundException: /C:/Desenv/workspace/AplicativoP/assets/t.txt (No such file or directory)
[/quote]
o que seria essa “/” antes do c:/ ?
Tipo posta como você esta carregando a urlArquivo
Mas como voce está tentando acessar C: ? Isso é padrão Windows.
entao…
eu usei o caminho absoluto depois que tinha tentado so indicando a pasta “/assets/t.txt”…e nenhum dos dois jeitos funciona… tentei isso tb : urlArquivo = ( (new File ("assets").getAbsolutePath())+"\\t.txt").replace("\\","/");
… mas tb n deu certo
aqui eh o jeito que acesso:
[code]
nomeUsuario = lerXml ("/assets/t.txt").getNomeUsuario();
public TransmissorPanico lerXml (String urlArquivo)
{
XStream xstream = new XStream();
try
{
InputStream arquivo = new FileInputStream (urlArquivo); // o erro acontece aqui
List list = (List) xstream.fromXML(arquivo);
TransmissorPanico transmissorPanico = (TransmissorPanico) list.get(0);
return transmissorPanico;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}[/code]
Mas se voce quer algo que está no Assets, por que voce nao usa o AssetsManager e pega o que está lá?
pq eu nao sei o q q eh isso!
eh uma outra forma de acesso?eh uma pasta? eu nao sei… iniciei no android a pouco tempo…
vc tem algum exemplo ai pra me passar kra?
vlw
bom… dei uma olhada no AssetManager e consegui resolver o problema
o AssetManager deve ser usado assim:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AssetManager assetManager;
assetManager = getAssets();[/code]
[code]String urlArquivo = "t.txt"; // t.txt esta dentro da psta assets, que fica dentro do seu projeto Android
InputStream arquivo = assetManager.open(urlArquivo);
vlw
É isso ai mesmo.
Voce pode pegar o AssetManager por qualquer Context.
ssó mais uma duvida… e se eu tiver que gravar um arquivo? nao posso usar o asset manager… entao como q eh?
eu tentei :
[code]OutputStream arquivo = new FileOutputStream (“file:///android_asset/teste.txt”);
OutputStream arquivo = new FileOutputStream (“asset/teste.txt”);
OutputStream arquivo = new FileOutputStream ("/asset/teste.txt");
OutputStream arquivo = new FileOutputStream (“teste.txt”);[/code]
e nenhum jeito funcionou 