2012-03-20 78 views
0

我試圖創建一個目錄,我正在檢查它是否成功創建,但在屏幕上顯示文本,但沒有顯示。檢查一個目錄是否被創建,失敗?

Java代碼:

public void createDirectory() { 
    try { 
     String strDirectory = "test"; 
     boolean success = (new File(strDirectory)).mkdir(); 
     if (success) { 
      Toast.makeText(getBaseContext(), "Directory "+strDirectory+" created", Toast.LENGTH_SHORT); 
     } else { 
      Toast.makeText(getApplicationContext(), "error occured", Toast.LENGTH_SHORT); 
     } 
    } catch (Exception e) { 
     Log.e("Error", "Error creating directory"); 
    } 
} 
+0

沒有Toast出現似乎表明它既沒有「if」也沒有「else」......這意味着有一個例外,它正在做Log.e(...)。你可以發佈logcat嗎? – mfrankli 2012-03-20 18:11:17

回答

2

Both敬酒.show()結束....

Toast.makeText(getBaseContext(), "Directory "+strDirectory+" created", 
Toast.LENGTH_SHORT).show(); 
+0

哦,愚蠢的錯誤,我真的很明白,沒有.show() – Androelpha 2012-03-20 18:14:22

0

你添加使用許可權寫入外部存儲到您的清單?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

我實際上並不知道它試圖創建目錄,因爲您沒有限定整個路徑。你想做什麼?

,如果你試圖在SD卡上創建它,做到這一點,

File f = new File(Environment.getExternalStorageDirectory(), "myfile.txt"); 

http://developer.android.com/reference/android/os/Environment.html

注意,這個文件將是可讀的所有應用程序。

,如果你要創建一個文件,該文件是私有的應用程序,這樣做,

OutputStream os = context.openFileOutput("myfile.txt"); 

http://developer.android.com/reference/android/content/Context.html

注意,此方法是保留給小文件,因爲它使用的內部存儲在許多設備上受到限制。

最後,總是打印堆棧跟蹤,

Log.e("mytag", "some message", e); 

9倍十個,這將直接指向你的問題。