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)

モードはprivate、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 に答える