【问题标题】:how to delete a file from android studio code如何从android studio代码中删除文件
【发布时间】:2018-09-30 18:52:59
【问题描述】:

我使用此代码从 android 应用程序创建和管理文件,但我想要删除它。

这是我编写和阅读的代码:

 private String readDataFromString()
{
    try{
        FileInputStream fis = this.openFileInput("encryptedNotePad.txt");
        InputStreamReader isr = new InputStreamReader(fis);

        char[] inputBuffer = new char[100];
        String s = "";

        int charRead;
        while((charRead = isr.read(inputBuffer)) > 0){
            // Convertimos los char a String
            String readString = String.copyValueOf(inputBuffer, 0, charRead);
            s += readString;

            inputBuffer = new char[100];
        }

        isr.close();
        return s;

    }catch (IOException ex){
        ex.printStackTrace();
    }
    return null;
}


private void writeDataToString (String data) throws FileNotFoundException {
    try{
        //FileOutputStream fos = openFileOutput("encryptedNotePad.txt", MODE_PRIVATE);
        FileOutputStream fos = this.openFileOutput("encryptedNotePad.txt", MODE_PRIVATE);
        OutputStreamWriter osw = new OutputStreamWriter(fos);

        // Escribimos el String en el archivo
        osw.write(data);
        osw.flush();
        osw.close();

    }catch (IOException ex){
        ex.printStackTrace();
    }
}

我怎样才能删除它?

我发现了这个:

File file = new File(selectedFilePath);
boolean deleted = file.delete();

但是,我不知道文件路径。文件路径是什么?

【问题讨论】:

    标签: android file path


    【解决方案1】:

    但是,我不知道文件路径。文件路径是什么?

    路径表示文件的路径,您可以在其中访问它或在上面做一些事情。

    我相信你的情况是:

    encryptedNotePad.txt
    

    就像你已经用过一样:

    FileOutputStream fos = this.openFileOutput("encryptedNotePad.txt", MODE_PRIVATE);
    

    因此,如果您提供以下代码的路径,我希望它应该可以正常工作:

    File file = new File("encryptedNotePad.txt");
    boolean deleted = file.delete();
    

    【讨论】:

    • 非常感谢。我使用此代码,但文件未删除: File file = new File(file_name+".txt"); if(file.exists() && !file.isDirectory()) { // 调用删除方法 boolean success = file.delete(); if (success) { Toast.makeText(this, "文件被删除",Toast.LENGTH_LONG).show(); } }
    • 您看到任何错误吗?也许您尝试删除该文件的路径没有正确的权限?
    • 你好。这就是问题所在,我没有收到任何错误消息,它只是通过而不删除它。为此,我设置了那个 toast 消息来检查这一点。我在清单中设置了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限。但是关于文件路径,我不知道该怎么做,因为我用 "FileOutputStream fos = this.openFileOutput("encryptedNotePad.txt", MODE_PRIVATE); "打开它,当我尝试用 File file = new File("加密记事本.txt"); boolean deleted = file.delete();,但删除为假。还有另一种删除文件的方法吗?还是我做错了什么?
    • 我猜你错过了一个参数。检查此链接:*.com/a/24857764/4409113
    最近更新 更多