【发布时间】:2011-11-16 12:36:33
【问题描述】:
我正在将我们的应用程序从使用外部文件(使用文件名访问)转换为内部文件(使用FileInputStream 和FileOutputStream 对象访问)。但是,我遇到了一个相当奇怪的错误:在 finalize() 上,FileInputStreams 有时会抛出 NullPointerException。
logcat 告诉我:
Uncaught exception thrown by finalizer (will be discarded):
java.lang.NullPointerException:
at java.io.FileInputStream.close(FileInputStream.java:133)
at java.io.FileInputStream.finalize(FileInputStream.java:156)
at dalvik.system.NativeStart.run(Native Method)
查看FileInputStream source on docjar.com 似乎这可能是由一个空的FileDescriptor 引起的;但是,我希望能够将错误的文件名传递给我的 FileInputStream 构造函数并捕获 FileNotFoundException,因为这是我对 Android 内部系统所能做的一切(没有针对 Context#fileList() 中的每个条目测量文件名)。有没有办法解决这个问题?
NB 显然,终结器中的异常不会导致我发生任何实际崩溃,但我觉得我应该尝试整理一下。
【问题讨论】:
标签: android nullpointerexception fileinputstream