如何检索 Android 设备中的特定文件?

How to retrieve a particular file in an Android Device?

我创建了一个 Android 应用程序来从服务器下载 .mp3 文件并将其存储在内部存储器的文件夹中。现在我想获取下载的文件并为用户播放。

如何检索单个文件并使用 Media Player 播放该文件?

谁能帮我找到解决方案?

编辑:第一个问题是如何从内部存储中的文件播放 MP3 文件。我的回答和那个问题有关。

您可以使用Context.getFilesDir()方法获取内部存储的路径。

用法:

String path = getFilesDir() + "/" + name;

请注意,如果将 mp3 文件放在子目录中,名称也可以包含目录名称。

正在播放:

mediaPlayer = new  MediaPlayer();
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();   
mediaPlayer.start()

对于获取文件并更改其扩展名,这段代码可能会有用..

public void jjj(View view) {

    File file  = new File(Environment.getExternalStorageDirectory().toString() + "/Jithin's/downloadedfile.srt"); // handler to your ZIP file
    File file2 = new File(Environment.getExternalStorageDirectory().toString() + "/Jithin's/downloadedfile.mp3");
    // destination dir of your file
    boolean success = file.renameTo(file2);

//-----------------------------------------------------------------------------------------------------------
    final MediaPlayer mp=new MediaPlayer();
    try{
        //you can change the path, here path is external directory(e.g. sdcard) /Music/maine.mp3
        mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Jithin's/downloadedfile.mp3");

        mp.prepare();
    }catch(Exception e){e.printStackTrace();}

    mp.start();
//------------------------------------------------------------------------------------------------------------
    if (success) {
        // File has been renamed
        Toast.makeText(MainActivity.this, "Changed Extension .... ", Toast.LENGTH_SHORT).show();
    }