我正在编写一个通过SFTP连接到远程服务器的应用程序,如果没有SD卡,应该将.cvs文件下载到手机的外部存储器或内部存储器。 SFTP连接工作正常,但我遇到了文件操作。
我目前的问题是,如果我想使用mkdirs()在移动设备上创建一个目录,它就不起作用了。应用程序执行正常,但文件系统没有任何变化。
如果我使用文件管理器手动创建目录,我的应用程序崩溃。
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
public void createdir() throws IOException{
if (!isExternalStorageWritable()) {
// No external storage available
File directory = new File(Environment.getDataDirectory()
+ "/Remote/");
if (directory.exists()) {
File[] dirFiles = directory.listFiles();
if (dirFiles.length != 0) {
for (int ii = 0; ii <= dirFiles.length; ii++) {
dirFiles[ii].delete();
}
}
}
if (!directory.exists()) {
directory.mkdirs();
}
} else {
// External storage mounted
File directory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "Remote");
if (directory.exists()) {
File[] dirFiles = directory.listFiles();
if (dirFiles.length > 0) {
for (int ii = 0; ii < dirFiles.length; ii++) {
dirFiles[ii].delete();
}
dirFiles = null;
}
}
if (!directory.exists()) {
directory.mkdirs();
}
}
}