如何将文件保存在缓存目录中并在android中查看它们?

如何将文件保存在缓存目录中并在android中查看它们?,android,file,caching,Android,File,Caching,我正在缓存目录中保存文件(文件可以是任何附件)。但是什么时候 我使用Action_查看它,它显示的是黑屏。如果我查看任何pdf文件,它会显示错误消息“无法打开pdf文件” 要查看此保存的文件。。我正在使用此链接的行动代码\u视图。。。 若我将文件保存在内部存储器中,然后查看它,那个么它工作正常。 但我想把它保存在缓存目录中 提前感谢….您能看到正确创建的文件吗?使用Android Studio的设备文件资源管理器。是的,我看到所有文件都已下载@user1506104和您使用哪个pdf查看器查看

我正在缓存目录中保存文件(文件可以是任何附件)。但是什么时候

我使用Action_查看它,它显示的是黑屏。如果我查看任何pdf文件,它会显示错误消息“无法打开pdf文件”

要查看此保存的文件。。我正在使用此链接的行动代码\u视图。。。

若我将文件保存在内部存储器中,然后查看它,那个么它工作正常。 但我想把它保存在缓存目录中


提前感谢….

您能看到正确创建的文件吗?使用Android Studio的设备文件资源管理器。是的,我看到所有文件都已下载@user1506104和您使用哪个pdf查看器查看您的文件?可能与@user1506104:drive pdf viewer重复
  @Override
        protected String doInBackground(String... strings) {

            try {
    File dir = new File(getBaseContext().getCacheDir().getPath());
    File tempFile = new File(dir + "/" + FILE_LOCATION);

    if (!tempFile .exists()) {
                        tempFile.mkdirs();
                    }
    String fname = fileUrl.substring(fileUrl.lastIndexOf("/"));
                    File file1 = new File(tempFile , fname);

    URLConnection connection = url.openConnection();
                        connection.connect();

     int fileLength = connection.getContentLength();
                        OutputStream output = new FileOutputStream(file1);

    InputStream input = new BufferedInputStream(connection.getInputStream());

                        byte data[] = new byte[1024];
                        long total = 0;
                        int count;
                        while ((count = input.read(data)) != -1) {
                            total += count;

                            // Publish the progress
                            publishProgress("" + (int) ((total * 100) / fileLength));
                            output.write(data, 0, count);
                        }

                        output.close();
                        input.close();
}
 catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
 return "Download complete.";
        }


 @Override
        protected void onPreExecute() {
            super.onPreExecute();

            mProgressDialog = new ProgressDialog(EnableNotificationDemo.this);
            mProgressDialog.setMessage("Downloading, Please Wait!");
            mProgressDialog.setIndeterminate(false);
            mProgressDialog.setMax(100);
            mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}

 @Override
        protected void onPostExecute(String result) {
            mProgressDialog.dismiss();
}