【问题标题】:How to do Rename/Delete operations on audio files which are in SD card如何对 SD 卡中的音频文件进行重命名/删除操作
【发布时间】:2014-01-04 20:44:39
【问题描述】:

我正在尝试删除和重命名 SD 卡中的音频文件,所以这是我的代码来显示 SD 卡中的音频文件列表。

// Use the current directory as title
    path = "/sdcard/";
    if (getIntent().hasExtra("path")) {
        path = getIntent().getStringExtra("path");
    }
    setTitle(path);

    // Read all files sorted into the values-array
    values = new ArrayList();
    File dir = new File(path);
    if (!dir.canRead()) {
        setTitle(getTitle() + " (inaccessible)");
    }
    final String[] list = dir.list();
    if (list != null) {
        for (String file : list) {
            if (file.contains(".3gp")) {
                values.add(file);
            }
        }
    }
    Collections.sort(values);
    // Put the data into the list
    adapter = new ArrayAdapter(this,
            android.R.layout.simple_list_item_2, android.R.id.text1, values);
    setListAdapter(adapter);

在这里我可以显示所有音乐文件,但如果我尝试重命名或删除操作,那么它不会影响 SD 卡中的文件,请建议我一些解决方案 删除和重命名代码

case CONTEXT_MENU_DELETE:

Toast.makeText(
                this,
                "You selected item " + context_menu_number
                        + " from the context menu", Toast.LENGTH_SHORT)
                .show();
        Toast.makeText(
                this,
                "You removed item " + number_of_item_in_listview
                        + " from the list", Toast.LENGTH_SHORT).show();
        values.remove(number_of_item_in_listview);
        // myadapter.notifyDataSetChanged(); //if this does not work,
        // reinitialize the adapter:
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1,
                values);
        myList.setAdapter(adapter);
        File f = new File(path + filename);
        if (f != null && f.exists()) {
            // delete it
            f.delete();
        }
        return (true);

【问题讨论】:

  • 重命名/删除文件的代码在哪里?
  • 您是否在AndroidManifest.xml文件中添加了权限&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt;
  • 是的,添加了清单权限
  • 您想要删除文件的代码还是您在实现的代码中遇到了一些问题?

标签: android audio


【解决方案1】:

试试下面的代码从 sdcard 中删除文件。

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

其中FilePath 是您要删除的文件的路径 - 例如:

/sdcard/YourCustomDirectory/YourFile.mp3

也给予许可

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

AndroidManifest.xml 文件中

【讨论】:

  • 在清单中添加了权限,尝试了这段代码,但没有成功
  • 您在哪里编写代码来选择文件并获取其路径?
【解决方案2】:

首先在xml中添加写入外部存储的权限..

   String newName ="new Name";
   File oldFile = new File(Environment.getExternalStorageDirectory()+songName);

   File latestname = new File(Enviornment.get+ newName + ".mp3");
   boolean  success = oldFile .renameTo(latestname );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 2019-01-29
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    相关资源
    最近更新 更多