无法访问android上的文件

编辑:当我尝试实施建议的解决方案时发生错误。请查看以下附加信息。如果可以,请帮助我,提前谢谢! 好的,所以我最终得到了我的应用程序来创建和写入最近的文件。 在模拟器上,这非常有效。但是,当我将应用程序上传到手机并尝试
adb shell
进入手机时。我无法访问手机中包含该文件的目录。 目录是
/data/data/cpe495.smartapp/files/
。当我尝试更改目录时,它告诉我我没有权限。 我假设这是因为我的手机没有根,而且我不在root帐户中。根植我的手机不是我要做的事情。 有没有办法,我可以创建这个文件并写入它,并能够从手机上取下它?这是我创建文件的当前方式:
fOut = tThis.openFileOutput("test.csv", tThis.MODE_APPEND);
提前致谢!! 还是行不通 我已将以下代码添加到我的应用程序中,当我运行它时,当它尝试将文件写入SD卡时,它失败并出现以下错误,请帮助我!
                      String inFileName = "/data/data/cpe495.smartapp/files/test.csv"; //TODO Use folder/filename
                      File inFile = new File(inFileName);
                      try{
                      FileInputStream fis = new FileInputStream(inFile);

                      String outFileName = Environment.getExternalStorageDirectory()+"/test.csv"; //TODO Use output filename
                      OutputStream output = new FileOutputStream(outFileName);

                      byte[] buffer = new byte[1024];
                      int length;
                      while ((length = fis.read(buffer))>0)
                        output.write(buffer, 0, length);

                      output.flush();
                      output.close();
                      fis.close();
                      } catch (Exception e) {
                          e.printStackTrace();
                      }   
04-05 23:20:11.551: WARN/System.err(285): java.io.FileNotFoundException: /mnt/sdcard/test.csv (Permission denied)
04-05 23:20:11.582: WARN/System.err(285):     at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
04-05 23:20:11.593: WARN/System.err(285):     at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
04-05 23:20:11.601: WARN/System.err(285):     at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
04-05 23:20:11.601: WARN/System.err(285):     at java.io.FileOutputStream.<init>(FileOutputStream.java:168)
04-05 23:20:11.612: WARN/System.err(285):     at java.io.FileOutputStream.<init>(FileOutputStream.java:147)
04-05 23:20:11.622: WARN/System.err(285):     at cpe495.smartapp.SmartApp$8.onClick(SmartApp.java:162)
04-05 23:20:11.622: WARN/System.err(285):     at android.view.View.performClick(View.java:2408)
04-05 23:20:11.632: WARN/System.err(285):     at android.view.View$PerformClick.run(View.java:8816)
04-05 23:20:11.632: WARN/System.err(285):     at android.os.Handler.handleCallback(Handler.java:587)
04-05 23:20:11.642: WARN/System.err(285):     at android.os.Handler.dispatchMessage(Handler.java:92)
04-05 23:20:11.642: WARN/System.err(285):     at android.os.Looper.loop(Looper.java:123)
04-05 23:20:11.685: WARN/System.err(285):     at android.app.ActivityThread.main(ActivityThread.java:4627)
04-05 23:20:11.685: WARN/System.err(285):     at java.lang.reflect.Method.invokeNative(Native Method)
04-05 23:20:11.692: WARN/System.err(285):     at java.lang.reflect.Method.invoke(Method.java:521)
04-05 23:20:11.702: WARN/System.err(285):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-05 23:20:11.702: WARN/System.err(285):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-05 23:20:11.711: WARN/System.err(285):     at dalvik.system.NativeStart.main(Native Method)
    
已邀请:
您是否需要root访问权才能访问该文件。 作为解决方法,您可以创建一个活动或测试功能,将该文件复制到SD卡,以便您可以阅读它。 编辑 - 此答案包含将文件复制到SD卡的示例代码。 更新 - 对于上述答案,您需要在
<manifest ... >
标签后的清单中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

要回复问题请先登录注册