mkdir()没有创建新目录

时间:2018-01-19 13:05:03

标签: java file android-studio mkdir mkdirs

我已经包含了

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我想保存图片。

但在此之前,我想检查是否创建了目录,但事实并非如此。我正在使用文件资源管理器检查它是否正在创建,它甚至没有显示我的应用程序包文件夹。

package com.example.parth.project2;

import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button; 
import android.widget.ImageView;
import android.widget.Toast;

import java.io.File;

public class saveData extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_save_data);

       ImageView imageView = (ImageView) findViewById(R.id.imagesave);
       Button button = (Button) findViewById(R.id.Savepic);


       button.setOnClickListener(new View.OnClickListener() {
          @Override
           public void onClick(View v) {
               String filepath = Environment.getExternalStorageDirectory().getPath();
               File fileBase = new File(filepath, "Test");
               if (!fileBase.exists()) {
                   fileBase.mkdirs();
                   Toast.makeText(saveData.this, fileBase.getAbsolutePath(), Toast.LENGTH_LONG).show();
               }
           }
       });

   }

}

3 个答案:

答案 0 :(得分:2)

尝试:

String filepath = Environment.getExternalStorageDirectory().toString();

//or

String filepath = Environment.getExternalStorageDirectory();

而不是:

String filepath = Environment.getExternalStorageDirectory().getPath();

答案 1 :(得分:-1)

为什么不尝试创建这样的文件?

File file = new File(Environment.getExternalStorageDirectory() + File.separator + "MyFile.txt");
file.createNewFile();

答案 2 :(得分:-1)

尝试:

fileBase.mkdir();

而不是:

fileBase.mkdirs();