2013-03-24 64 views
3

我试图从我正在编写的Android应用程序一次输出一个数值,但我遇到了很多麻烦弄清楚发生了什么事。试图寻找答案,但只是进一步混淆。这让我觉得应该是相对简单的事情,所以我感到非常愚蠢,因为被它弄糊涂了。将数据输出到Android上的文件,不知道它在哪里或者它是否在任何地方

String directory = Environment.getExternalStorageDirectory().getAbsolutePath(); 

当我登录目录我得到一个路径“/ storage/emulated/0”那是哪里?如果我没有调试,这与我所得到的不同吗?

然后,我有:

String fileName = directory + "/Android/data/com.sample.app/files/test.txt" 
File myFile = new File(fileName); 
FileOutputStream fos; 
try { 
    fos = new FileOutputStream(myFile); 
    String text = "Test text\n"; 
    fos.write(text.getBytes()); 
fos.close(); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e){ 
    e.printStackTrace(); 
}  

我尝试使用Windows资源管理器来找出其中的东西是保存和/或应该被保存,但我没有看到它。这是代码根据这个链接中的信息:http://developer.android.com/guide/topics/data/data-storage.html,但我真的不明白“/ storage/emulated/0”来自何处,以及我如何访问该位置或摆脱它。

编辑:现在我只想保存所有的数字,所以我可以检查什么出来。这些数字是从音频输入记录的。

编辑:在我的手机上使用ASTRO文件应用程序显示文件 不需要“/Android/data/com.sample.app/files/”部分,不知道如何使用它。

回答

2

路径错误?

/storage/emulated/0是代表外部存储的文件系统的路径。在Android的早期版本中,我们经常有/mnt/sdcard/或类似的东西,但是现在很多设备没有SD卡,但是仍然模仿外部存储。

要查看您的Android文件系统上的文件,我建议使用像Astro File Manager这样的应用程序。只要看看你的文件是否已经写好。

一个可能的错误可能是您在directory和本地路径之间缺少File.separator

String fileName = directory + File.seperator + "Android/data/com.sample.app/file/test.txt" 

创建目录?

您还应该确保该目录通过调用myDir.mkDirs();存在,其中myDir是没有文件名的完整路径。

要创建您可以使用下面的代码

directory = directory + "/Android/data/com.sample.app/file/test.txt" 
new File(directory).mkDirs(); 

用途的许可清单中的目录?

最后一个错误源可能是,你可能会错过外部存储许可,您需要一个

您还需要确保,您需要的权限写入到外部存储。在Android Manifest文件中查看<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

+0

谢谢。我刚刚下载了该应用程序,所以我正在查看它。我确实有权限设置,单独的问题文本中只有一个错字(现在已修复)。我不确定“mkDirs()”是什么。似乎不是您可以调用字符串的函数。 编辑:所以使用该应用程序,我能够找到我保存的东西。我如何在计算机上看到它们? – shim 2013-03-24 18:24:18

+1

'mkDirs()'只能在'File'处调用,但是如果你能找到这个文件,你似乎对非创建的目录没有问题。 如果您的测试文件已存储到'/ storage/emulated/0',则在通过USB将手机作为主存储设备连接时应该能够看到它。 – fish 2013-03-24 18:29:43

+0

我看到的文件是没有“Android/data/com.sample.app/file部分”的文件,我只是在外部存储目录中写入它。 – shim 2013-03-24 18:31:52

相关问题