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