我正在制作Android应用程序,我需要在存储磁盘卡上创建文件夹。 我的主要活动课程: 我添加了三个按钮,每次单击都是写一个文件夹。 我的程序正在执行,但Toast Message是"目录未创建。" 我检查了我的存储磁盘卡,在那里,我还在清单中添加了用户权限。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final boolean isSDWritable = SDcard.isExternalStorageWritable();
buttonDownlaod = (Button) findViewById(R.id.activity_main_directoryDownload);
buttonPictures = (Button) findViewById(R.id.activity_main_directoryPictures);
buttonMovies = (Button) findViewById(R.id.activity_main_directoryMovies);
buttonDownlaod.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSDWritable) {
getStorageDir(Environment.DIRECTORY_DOWNLOADS, "MyDownlaods");
}
}
});
buttonMovies.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSDWritable) {
getStorageDir(Environment.DIRECTORY_MOVIES, "MyMovies");
}
}
});
buttonPictures.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSDWritable) {
getStorageDir(Environment.DIRECTORY_PICTURES, "MyPictures");
}
}
});
}
public File getStorageDir(String inBuiltDir, String folderName) {
String inBuiltdir = Environment.getExternalStorageDirectory().getAbsolutePath();
File file = new File(inBuiltDir, folderName);
if (!file.mkdirs()) {
Toast.makeText(this, "Directory is not created", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Folder Name" + folderName + "Created", Toast.LENGTH_SHORT).show();
}
return file;
}
} // Update code formatting
任何人都可以帮助解决代码中的错误,这就是Directory没有创建的原因。
答案 0 :(得分:0)
我认为您无法在这些porticular目录中创建文件夹。请尝试其他目录。
答案 1 :(得分:0)
试试这个
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/"+folderName+"/");
file.mkdirs();
答案 2 :(得分:0)
假设我想在SD卡上创建示例文件夹
File recordingDirectory = new File("/sdcard/sample/");
if (!recordingDirectory.exists()) {
recordingDirectory.mkdirs();
}