如何在Android中的特定目录中创建.txt文件?

时间:2016-11-18 18:12:54

标签: android file export

我正在尝试开发一个程序,该程序在特定目录(.txt文件)中创建文件并在其中存储一些数据(例如字符串)。我还希望用户可以访问该文件(如果我转到文件浏览器,我可以查看我创建的文件,也可以使用其他程序或其他内容编辑它。)

我尝试了很多东西,但我无法解决这个问题。

以下是我使用atm的代码:

public void createFile(View view) throws IOException {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd");
    Date now = new Date();
    String fileName = formatter.format(now) + ".txt";
    String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Sonda Drive Test";

    File mypath = new File(filepath);
    if(!mypath.exists()) {
        mypath.mkdir();
    }
    //now the mkdir returns true isntead of false


    File myfile = new File(mypath, fileName);

    try{
        if(!myfile.exists()){
            txtDebug.setText("Não existe ficheiro!");
            myfile.createNewFile();
        }
        else{
            txtDebug.setText("Já existe ficheiro!");
        }
    }catch (Exception e){
        txtDebug.setText("Erro!");
    }
}

我还添加了以下权限:

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

问题在于我做的时候

myfile.createNewFile();

应用程序停止并关闭..但如果我评论该行,它也不会创建任何文件......

我做错了什么?

编辑:我管理为API 22做这项工作。我怎样才能为API 25做这件事?

1 个答案:

答案 0 :(得分:0)

您将mypath作为路径,但您将mypath定义为文件