[Resolvido] Android: java.io.FileNotFoundException, mas o arquivo existe sim

8 respostas
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)

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!

8 Respostas

enrico.bo

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)

o que seria essa “/” antes do c:/ ?

Tipo posta como você esta carregando a urlArquivo

Marky.Vasconcelos

Mas como voce está tentando acessar C: ? Isso é padrão Windows.

sarkozy

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:

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;
        }
    }
Marky.Vasconcelos

Mas se voce quer algo que está no Assets, por que voce nao usa o AssetsManager e pega o que está lá?

sarkozy

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

sarkozy

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();
String urlArquivo = "t.txt"; // t.txt esta dentro da psta assets, que fica dentro do seu projeto Android
InputStream arquivo = assetManager.open(urlArquivo);

vlw

Marky.Vasconcelos

É isso ai mesmo.

Voce pode pegar o AssetManager por qualquer Context.

sarkozy

ssó mais uma duvida.. e se eu tiver que gravar um arquivo? nao posso usar o asset manager... entao como q eh?

eu tentei :

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");

e nenhum jeito funcionou :/

Criado 17 de junho de 2011
Ultima resposta 19 de jun. de 2011
Respostas 8
Participantes 3