我写了这个..
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), myFileName);
if(file.exists()) {
createDelete.setText("Delete file");
Toast.makeText(SaveToFile.this, myFileName+" auto-created",Toast.LENGTH_LONG).show();
}
else if(!file.exists())
Toast.makeText(SaveToFile.this, myFileName+" auto-creation failed",Toast.LENGTH_LONG).show();
}
当我运行它时,它会使失败的吐司。我无法在目录中找到该文件(无论是模拟器还是我的手机)。
在清单中添加Permision,版本为8.模拟器具有512 MB外部存储器。
答案 0 :(得分:0)
试试这个..
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//handle case of no SDCARD present
} else {
File file = new File(Environment.getExternalStorageDirectory()
+File.separator
+"myDirectory" //folder name
+File.separator
+"myFile.example"); //file name
file.mkdirs();
}
并在你的清单中......
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 1 :(得分:0)
如果要创建文件,则必须调用mkdir
File file = new File(Environment..getExternalStorageDirectory(), myFileName);
// To create the file
file.mkdir();
由于mkdir是一个布尔值,你也可以这样做
if (file.mkdir()) {
Toast.makeText(SaveToFile.this, myFileName+" auto-created",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SaveToFile.this, myFileName+" auto-creation failed",Toast.LENGTH_LONG).show();
}
如果你有一些子目录,使用 mkdirs(),它将创建缺少的子目录
http://developer.android.com/reference/java/io/File.html#mkdir%28%29
答案 2 :(得分:-1)
这样做
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// Update HEre
File file = new File(Environment.getExternalStorageDirectory() + "/" + myFileName);
if(file.exists()) {
createDelete.setText("Delete file");
Toast.makeText(SaveToFile.this, myFileName+" auto-created",Toast.LENGTH_LONG).show();
}else{
file.createNewFile(); //UPDATE HERE
}
else if(!file.exists())
Toast.makeText(SaveToFile.this, myFileName+" auto-creation failed",Toast.LENGTH_LONG).show();
}