2012-03-22 85 views
1

我在其中一个应用程序中创建了SD卡上的目录和文本文件,因为我希望能够将它移动到我的计算机进行分析。但我无法使用计算机上的文件浏览器找到我在我的SD卡上创建的文件夹或文件。 我可以使用我的手机文件管理器查找并读取文件,但不能在Windows中使用文件浏览器。 因此,文件和文件夹已成功创建,我可以写入文件,我也可以使用手机上的文件管理器查找并读取文件,但无法使用我的电脑找到任何目录或文件。使用Windows文件浏览器找不到使用Android应用程序创建的文件夹或文件

我有一个应用程序的使用权限,允许它写入外部存储。

这是我用来创建文件和目录的代码。

String fileName = "testFil.txt"; 
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/PulsApp"; 

File appDirectory = new File(path); 
appDirectory.mkdirs(); 
File file = new File(path, fileName); 

try { 
    file.createNewFile(); 
} catch (IOException e) { 
} 

有谁知道这个问题是什么,以及如何解决它?我真的需要能够将文件写入我的SD卡,以便将它们传输到我的电脑。

我完全被这个问题困惑,因为我所做的所有研究都指出其他人都在做同样的事情。

+0

你做得对,确保你有权访问Windows中的正确的SDCard。你可以在adb shell中看到这个文件,或者你可以用adb而不是windows explorer来获取它吗? – bbedward 2012-03-22 12:02:20

+0

这不是真正解决您的问题的方法,但从来没有为路径使用字符串连接。使用Path.Combine() - http://stackoverflow.com/questions/412380/combine-paths-in-java – 2012-03-22 12:03:09

+0

@bbedward好吧,我试图切换到Ubuntu,但我仍然无法找到文件只是插入我的电话与USB电缆。因此,我愤怒地撕开手机,将SD卡插入USB适配器,然后我就可以找到它。这是否与权限或类似的东西有关? – mpals 2012-03-22 13:12:16

回答

5

如果您的设备运行的是Android 3.0或更高版本,则还需要使用MediaScannerConnection为新创建的文件编制索引,然后才会显示在开发PC的文件资源管理器中。

更准确地说,新创建的文件需要由MediaStore索引。这将最终发生其他原因(例如,设备重启)。不过,您最好在MediaScannerConnection上使用scanFile()以更快地实现它。

I blogged about this last summer

0

有时MediaScannerConnection会将该文件夹识别为未知类型文件,因此尝试在原始文件夹内创建另一个文件夹可以避免此问题。 我遇到了同样的问题,我使用的方法在comment

它适用于我。

相关问题