如何在Android中从手机的内存中读取文件?

时间:2010-02-04 14:52:08

标签: android memory readfile

我已经使用Android中的HttpConnectionFileOutputStream下载了一个文件,现在它被写在路径中的手机内存中,因为我在File Explorer

中找到了它

/data/data/com.example.packagename/files/123.ics

现在,我要打开&从手机的内存中读取文件内容到UI。我尝试使用FileInputStream来实现,我只给出了带扩展名的文件名来打开它,但我不确定如何在内存中提及文件的文件路径,因为它会强制关闭应用程序。 / p>

有什么建议吗?


这就是我在做的事情:

try
{               
  FileInputStream fileIn;       
  fileIn = openFileInput("123.ics");
  InputStream in = null;
  EditText Userid = (EditText) findViewById(R.id.user_id);
  byte[] buffer = new byte[1024];
  int len = 0;
  while ( (len = in.read(buffer)) > 0 )         
  {     
     Userid.setText(fileIn.read(buffer, 0, len));
  }                    
  fileIn.close();                       
} catch (FileNotFoundException e)
{
   e.printStackTrace();
}
catch (IOException e)
{   
    e.printStackTrace();
}

3 个答案:

答案 0 :(得分:6)

String filePath = context.getFilesDir().getAbsolutePath();//returns current directory.
File file = new File(filePath, fileName);

Similar post here 

read file from phone memory

答案 1 :(得分:4)

如果该文件位于您所说的位置,且您的应用程序为com.example.packagename,则调用openFileInput("123.ics");会在相关文件中返回FileInputStream

或者,致电getFilesDir()以获取指向File的{​​{1}}对象,然后从那里开始工作。

答案 2 :(得分:-2)

我正在使用此代码在内部存储中打开文件。我想我可以帮忙。

File str = new File("/data/data/com.xlabz.FlagTest/files/","hello_file.xml");