2012-03-20 41 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倍十个,这将直接指向你的问题。