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

发布于 2024-08-20 19:03:24 字数 918 浏览 10 评论 0原文

我已经使用 android 中的 FileOutputStreamHttpConnection 下载了一个文件,现在它被写入手机内部存储器的路径中,就像我在文件资源管理器中找到的那样>

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

现在,我想打开 &将文件内容从手机内存读取到UI。我尝试使用 FileInputStream 来做到这一点,我只给出了带有扩展名的文件名来打开它,但我不确定如何提及内部存储器中文件的文件路径,因为它强制应用程序关闭。

有什么建议吗?


这就是我正在做的:

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();
}

I have downloaded a file from HttpConnection using the FileOutputStream in android and now its being written in phone's internal memory on path as i found it in File Explorer

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

Now, I want to open & read the file content from phone's internal memory to UI. I tried to do it by using the FileInputStream, I have given just filename with extension to open it but I am not sure how to mention the file path for file in internal memory,as it forces the application to close.

Any suggestions?


This is what I am doing:

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();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

青春如此纠结 2024-08-27 19:03:24
String filePath = context.getFilesDir().getAbsolutePath();//returns current directory.
File file = new File(filePath, fileName);

Similar post here 

从手机内存读取文件

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

Similar post here 

read file from phone memory

绝情姑娘 2024-08-27 19:03:24

如果文件位于您所说的位置,并且您的应用程序是 com.example.packagename,则调用 openFileInput("123.ics"); 将返回一个 < code>FileInputStream 在有问题的文件上。

或者,调用 getFilesDir() 获取指向 /data/data/com.example.packagename/filesFile 对象,并从那里。

If the file is where you say it is, and your application is com.example.packagename, then calling openFileInput("123.ics"); will return you a FileInputStream on the file in question.

Or, call getFilesDir() to get a File object pointing to /data/data/com.example.packagename/files, and work from there.

一直在等你来 2024-08-27 19:03:24

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

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

I am using this code to open file in internal storage. i think i could help.

File str = new File("/data/data/com.xlabz.FlagTest/files/","hello_file.xml");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文