2013-05-26 87 views
0

我正在嘗試創建一個文件並將其存儲在SD卡中,以用作應用程序某些處理的輸入。 搜索了一段時間後,我得到了這個代碼,它可以在SD卡中創建一個文件。但運行後,我看不到在我的SD卡中創建的任何文件。任何人都可以請幫助我,我在這裏失蹤。SD卡中的文件創建不起作用

BufferedWriter out = new BufferedWriter(new FileWriter(FileDescriptor.err)); 

try { 
    File root = Environment.getExternalStorageDirectory(); 
    if (root.canWrite()) { 
    File perffile = new File(root, "samplefile.txt"); 
    FileWriter perfwriter = new FileWriter(perffile, true); 
    out = new BufferedWriter(perfwriter); 
    } 
} catch (IOException e) { 
    Log.e(TAG, "-Could not write file " + e.getMessage()); 
    return; 
} 
+0

你還沒有真正寫入文件。不知道與FileWriter的內部,但我不認爲這個文件將被創建,而無需寫它的東西... – WarrenFaith

+0

嗯,我做了一個小桌面java程序出這和linux上我可以確認它確實創建該文件只需使用此代碼。 –

+1

您是否要求清單中的許可? <使用權限android:name =「android.permission.WRITE_EXTERNAL_STORAGE」/> –

回答

0

如果你想添加一個文件或文件夾或移動應用程序到你的SD卡只要做到以下幾點:

步驟:

1)打開你的Android應用程序的源代碼文件與文本或編程編輯器。

2)瀏覽到源代碼中您希望調用將文件寫入設備外部存儲的功能的位置。

3)插入的這一行代碼以檢查SD卡:

File sdCard = Environment.getExternalStorageDirectory(); 

4)將這些代碼行來設置的目錄和文件名:

File dir = new File (sdcard.getAbsolutePath() + "/folder1/folder2"); 
dir.mkdirs(); 
File file = new File(dir, "example_file"); 

// The mkdirs funtion will create the directory folder for you, use it only you want to create a new one. 

5)將上面代碼中的「/ folder1/folder2」替換爲您要保存文件的實際路徑。這應該是您通常保存應用程序文件的位置。另外,將「example_file」值更改爲您希望使用的實際文件名。

6)插入下面的代碼行,以輸出該文件到SD卡:

FileOutputStream f = new FileOutputStream(file); 
Finally step 7: 

保存文件,然後對其進行編譯和測試使用Android仿真器軟件或設備的應用程序。

這將工作! ;-)