我正在嘗試在我的應用程序運行時將數據存儲在文件中,以便在將它連接到PC時輕鬆將其從設備中取出。如何將文件寫入可在PC上顯示的Android SD卡
現在,我可以創建文件並寫入,但我的計算機無法看到文件。
請注意,我真的不喜歡使用DDMS,因爲我會問有限經驗的人這樣做。
我知道它正在寫入文件,因爲我可以在設備的文件管理器上看到它。如果我將文件複製到設備上的另一個目錄中,我可以在計算機上看到它,但這不是適用於我的情況的有效解決方法。
以下是我有:
String fileName = "test";
String stuffToWrite = "testString";
try
{
File sdCard = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File dir = new File (sdCard.getAbsolutePath());
dir.mkdirs();
File file = new File(dir, fileName + ".csv");
file.setReadable(true,false);
FileOutputStream fOut = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
// Write the string to the file
osw.write(stuffToWrite);
/* ensure that everything is
* really written out and close */
osw.flush();
osw.close();
}
謝謝您的時間。
這可能沒有幫助,但是當我將圖像寫入「圖片」目錄時,必須先斷開設備與計算機的連接,然後重新連接,然後才能通過文件目錄看到它們。 – jnthnjns
感謝您的想法。不幸的是,它似乎不適用於我的情況,但我會爲未來記住這一點。謝謝! – Dish
對於將其外部存儲設備導出爲「USB Mass Storage Device」(典型的Android 2.x版本)的設備,您**不能**同時從手機和計算機訪問外部存儲設備。相反,他們輪流 - 當存儲裝置安裝到PC時,手機會失去訪問權限。較新的MTP方案以其他方式爲代價消除了這個問題。 –