这可能是一个愚蠢的问题,我不确定它是否会在这里出现,但我很困惑。
目前我有一部LG Nexus 5手机。我制作的一个应用程序使用了这个文件路径:
file = Environment.getExternalStorageDirectory().getPath() + filename;这在我的手机上运行得很好。它会保存一个PDF文件,以便我可以访问它。
然后,我打开我的平板电脑(三星),尝试使用该应用程序,结果发现由于将PDF保存在上面的文件名中而导致应用程序崩溃,并在错误日志中生成了以下内容:
08-31 14:38:57.918 W/System.err﹕ java.io.FileNotFoundException: /storage/emulated/0/31/08/2015 2:38:57 PM.pdf: open failed: ENOENT (No such file or directory)在用谷歌搜索了一下之后,我发现这是因为我的平板电脑上没有SD卡。这是有道理的。但是当我看着我的手机,却找不到SD卡插槽?那么,为什么它可以在我的手机上工作并保存,而不是在我的平板电脑上。
我需要购买SD卡才能正常工作吗?我尝试保存的文件是由iText生成的PDF文件。我读到,我显然也不能/不应该将它保存到内部存储中。
任何解释/帮助都将不胜感激。
发布于 2015-08-31 11:22:56
getExternalStorageDirectory()传统上是SD卡的一部分,但它也可以实现为设备中的内置存储,该设备与受保护的内部存储不同,并且可以作为文件系统安装在计算机上。
更多细节here。
https://stackoverflow.com/questions/32303507
复制相似问题