我的代码只允许您保存下载到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;
}
只应改变另一条路径吗?
答案 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)
您可以直接在设备的内部存储上保存文件。默认情况下,保存到内部存储的文件对应用程序是私有的,而其他应用程序无法访问它们(用户也无法访问)。当用户卸载您的应用程序时,将删除这些文件。
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();