【发布时间】:2011-03-26 18:40:33
【问题描述】:
我刚开始进行 Android 开发,在 android 应用程序中遇到了一个问题。
当应用程序尝试从文件(原始资源)读取数据时,它会在 readLine() 函数上抛出 IOException。代码如下:
final Resources resources = m_ApplicationContext.getResources();
InputStream inputStream = resources.openRawResource(R.raw.datafile);
BufferedReader reader = new BufferedReader(new InputStreamReader(
inputStream));
try {
String line;
while ((line = reader.readLine()) != null) {
reader.readLine() 函数抛出异常。我是否需要提及任何其他类型的文件读取权限?
提前致谢。
【问题讨论】:
-
你能发布IOException的内容吗?通常它会让您了解问题所在。否则只是一个 IOException 是相当模糊的
-
嗨,克里斯,实际上除了例外,我没有得到任何详细信息。甚至没有堆栈跟踪。
-
它只提供“IOException in class”的详细信息。我把手表放在“reader.readLine()”上,它告诉我异常是从 AssetManager 类路由的。
-
嗯,你可以在你的
catch块中放置一个 exception.printStackTrace() 并以这种方式获取异常详细信息吗?了解异常的实际状态会非常有帮助。 -
StackTrace 指向 AssetManager 类,但无论如何我得到了一些有趣的东西。它给大文件带来问题,原始文件大小超过 1MB。当尝试使用小文件时,它确实运行良好。我想我需要将文件分成多个块。
标签: android inputstream readline bufferedreader