1

我的代码只允许您保存下载到 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;

}

应该只改变这条路径就对了?

4

2 回答 2

0
how could save the download within the application itself?

如果您的意思是要将其保存在 Raw 或 Assets 文件夹中,则无论如何都需要清除它的含义,那么这是不可能的。您可以将文件存储在 Data 目录中。

openFileOutput("car.pdf",mode)

模式可以是私有的、world_redable、world_writable

于 2012-06-27T07:08:30.583 回答
0

根据Android 文档

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

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

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
于 2012-06-27T07:08:30.743 回答