Сохранение документов на внутреннем хранилище - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу хранить документы, такие как изображения и PDF на внутреннем хранилище Android (как личное).сейчас я храню на внешнем хранилище.Но я хочу изменить это на частное хранилище.Я загружаю файл из Интернета и сохраняю его во внешнем хранилище.

 URL url = new URL(urlStr);
                File newFolder = new File(Environment.getExternalStorageDirectory().getPath()+"/PatientAssist/Docs");
                newFolder.mkdirs();
                SimpleDateFormat sdf = new SimpleDateFormat("dd_MM_yyyy_HH_mm_ss", Locale.US);
                filename = newFolder.getPath()+"/"+ type+"_"+sdf.format(new Date())+".pdf";
                filePath = filename;
                if(post == 1) {
                    count = 0;
                    int dataread = 0;
                    int CHUNK_SIZE = 8192;                   // TCP/IP packet size
                    byte[] dataChunk = new byte[CHUNK_SIZE];
                    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
                    connection.setDoOutput(true);
                    connection.setDoInput(true);
                    connection.setRequestMethod("POST");
                    OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
                    wr.write(params.toString());
                    wr.flush();
                    //FileOutputStream fos = new FileOutputStream(filename);
                    //BufferedOutputStream bos = new BufferedOutputStream(fos);
                    FileOutputStream fos = new FileOutputStream(filename);
                    BufferedOutputStream bos = new BufferedOutputStream(fos);
                    BufferedInputStream bism = new BufferedInputStream(connection.getInputStream());
                    InputStreamReader isr = new InputStreamReader( bism );
                    BufferedReader br = new BufferedReader( isr );
                    while (dataread >= 0)
                    {
                        count++;
                        dataread = bism.read(dataChunk,0,CHUNK_SIZE);
                        System.out.print(".");
                        if ( dataread > 0 )
                            bos.write(dataChunk,0,dataread);
                    }
                    System.out.println(count*CHUNK_SIZE + " bytes done.");


                   // bis = new BufferedInputStream(connection.getInputStream());

                    bism.close();
                    bos.close();

            }

и просматриваю этот pdf с помощью pdf viewer

pdfView.fromFile(new File(filePath))
                    .enableSwipe(true) // allows to block changing pages using swipe
                    .swipeHorizontal(false)
 .load();

Я хочу сделать это во внутренней памяти.как я могу это сделать?

...