2012-03-22 84 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

它適用於我。

相關問題