下载文件时如何设置手机内存路径?

how to set the path to phones internal memory while downloading file?

I am developing an Android application that can download .mp3 files. The path i set for downloading files is "/sdcard/downloadedfile.mp3". It is going to sdcard

。 我想设置设备内部存储器的路径。所以没有sdcard的设备应该默认进入内部存储器..

谁能帮我找到一个解决方案..>?

由于内部存储位置受权限保护,您提供的任何位置都只有您的 application.You 可以访问。

(1) 在"external"存储上提供一个文件路径这是你现在正在做的,完成后,复制到内部存储,然后删除外部存储上的文件。

(2) 创建一个DownloadManager 可以写入的ContentProvider,并给它一个对应于这个ContentProvider 的URI。您实现的 ContentProvider 可以将文件写入内部存储,因为它将 运行 在您的应用程序上下文中。

这是您的内部存储文件的代码:

String songname= "Song_Name" ;
File storageDir = Environment.getExternalStorageDirectory();
File.createTempFile(
                songname,  /* prefix */
                ".mp3",         /* suffix */
                storageDir      /* directory */
        );

并且不要忘记获得写入存储的权限。

@Android 开发培训生

我想你可以试试这个:

String fileName="name.mp3";
File folder = new File(Environment.getExternalStorageDirectory().getPath() + "/floderName/");

if (!folder.exists()) {
    try {
        folder.mkdirs();
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("Default Save Path Creation Error:" + folder);
    }
}

File logFile = new File(folder, fileName);
if (!logFile.exists()) {
    try {
        logFile.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
        System.out.println("Default Save Path Creation Error:" + logFile);

    }
}

顺便说一下, 请不要忘记在 android6.0

添加权限和运行时权限