首先在AndroidManifest.xml添加权限

1

接着在布局中添加一个按钮

android:id="@+id/btn_main_createFile"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="CreateFile"/>

1

2

3

4

5

在MainActivity中操作

import android.Manifest;

import android.content.pm.PackageManager;

import android.os.Build;

import android.os.Environment;

import android.support.annotation.NonNull;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Toast;

import java.io.File;

public class MainActivity extends AppCompatActivity {

private final int REQUESTCODE = 101;

private String fileName = "test";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViewById(R.id.btn_main_createFile).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

create(fileName);

}

});

}

@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

if (requestCode == REQUESTCODE) {

//询问用户权限

if (permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE) && grantResults[0]

== PackageManager.PERMISSION_GRANTED) {

//用户同意

} else {

//用户不同意

}

}

}

public void create(String fileName){

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ) {

int checkSelfPermission = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);

if(checkSelfPermission == PackageManager.PERMISSION_DENIED){

requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},REQUESTCODE);

}

}

//Environment.getExternalStorageDirectory().getAbsolutePath():SD卡根目录

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/"+fileName);

if (!file.exists()){

boolean isSuccess = file.mkdirs();

Toast.makeText(MainActivity.this,"文件夹创建成功",Toast.LENGTH_LONG).show();

}else{

Toast.makeText(MainActivity.this,"文件夹已存在",Toast.LENGTH_LONG).show();

}

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐