我如何将PDF复制到内部存储中? -Android studio
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何将PDF复制到内部存储中? -Android studio相关的知识,希望对你有一定的参考价值。
我想将pdf从下载文件夹复制到我的应用程序(内部存储)中。问题在于该方法抛出NullPointerExeption。
File source = new File("/storage/emulated/0/Download/test1.pdf");
File dest = new File("/data/user/0/com.example.meinuniverwalter/files/Gson");
try
copyFileUsingStream(source,dest);
catch(IOException e)
e.printStackTrace();
private static void copyFileUsingStream(File source, File dest) throws IOException
InputStream is = null;
OutputStream os = null;
try
is = new FileInputStream(source);
os = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0)
os.write(buffer, 0, length);
finally
is.close();
os.close();
E/androidRuntime: FATAL EXCEPTION: main
Process: com.example.meinuniverwalter, PID: 28195
java.lang.RuntimeException: Unable to start activity ComponentInfocom.example.meinuniverwalter/com.example.meinuniverwalter.MainActivity: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.InputStream.close()' on a null object reference
答案
NullPointerException来自您的finally块。要获取有关错误的更多信息,请尝试捕获错误并将其记录下来。对我来说,似乎找不到文件,因此InputStream为null。您可以访问下载目录,例如:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
并且要访问此目录中的单个文件,请使用File.list()或File.listFiles()。另外,请确保您对清单文件具有正确的权限。
以上是关于我如何将PDF复制到内部存储中? -Android studio的主要内容,如果未能解决你的问题,请参考以下文章
归档项目后如何访问添加的 pdf 文件以将其复制到用户文档文件夹中?