如何将文件下载到应用程序文件夹?

时间:2012-06-27 07:03:09

标签: android file download

我的代码只允许您保存下载到SD卡的文件,如何在应用程序中保存下载?

代码:

URL url = new URL(aurl[0]);
URLConnection conexion = url.openConnection();
conexion.connect();

int lenghtOfFile = conexion.getContentLength();
Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);

InputStream input = new BufferedInputStream(url.openStream());
FileOutputStream fos = openFileOutput("try.pdf", Context.MODE_PRIVATE);

byte data[] = new byte[1024];

long total = 0;

    while ((count = input.read(data)) != -1) {
        total += count;
        publishProgress(""+(int)((total*100)/lenghtOfFile));
        fos.write(data, 0, count);
    }

    fos.flush();
    fos.close();
    input.close();
} catch (Exception e) {}
return null;

}

只应改变另一条路径吗?

2 个答案:

答案 0 :(得分:0)

how could save the download within the application itself?

如果你想将它保存在Raw或Assets文件夹中,你需要清除它的含义,然后就不可能了。你可以将文件存储在Data目录中。

openFileOutput("car.pdf",mode)
  

模式可以是private,world_redable,world_writable

答案 1 :(得分:0)

根据Android Document

您可以直接在设备的内部存储上保存文件。默认情况下,保存到内部存储的文件对应用程序是私有的,而其他应用程序无法访问它们(用户也无法访问)。当用户卸载您的应用程序时,将删除这些文件。

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();