0

私のアプリでは、他のアプリケーションがアクセスできないように、リモート PDF を内部ストレージに保存したいと考えています。誰でも助けてください。前もって感謝します。

PDFファイルを保存する私のコードは次のとおりです。

            File newdir = new File(getFilesDir().getAbsolutePath(),"/n.pdf");
            newdir.mkdirs();
            try {

                FileOutputStream fos = new FileOutputStream(newdir);
                URL url = new URL("my_pdf_path");
                urlConnection = url.openConnection();
                urlConnection.connect();

                InputStream input = url.openStream();

                 byte[] buffer = new byte[1024];
                    int read;
                    while ((read = input.read(buffer)) != -1) {
                        fos.write(buffer, 0, read);
                    }
                    fos.close();
                    input.close();



            } catch (Exception e) {

            }

そして、上記のパスにアクセスしようとすると、「ファイルを開くときにエラーが発生しました。存在しないか、読み取ることができません」と表示されます。

4

1 に答える 1

0

デバイスの内部ストレージにファイルを直接保存できます。デフォルトでは、内部ストレージに保存されたファイルはアプリケーション専用であり、他のアプリケーションはそれらにアクセスできません。詳細については、 http://developer.android.com/guide/topics/data/data-storage.html#filesInternalを参照してください。Web からファイルをダウンロードする方法の Java の例については、この質問への回答をお読みください。Android - Web から画像をダウンロードし、アプリ専用の場所にある内部メモリに保存し、リスト アイテムに表示します

于 2013-09-03T05:37:00.830 に答える