android从文本文件中读取

标签 android

我有一个 java 类,它使用缓冲读取器从文本文件中读取一些数据并将该数据作为 HashMap 返回:

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;

public class FrequencyLoader {

     public FrequencyLoader() throws FileNotFoundException {
        }

        public HashMap<String, Double> loadUnigramFrequencies() throws FileNotFoundException, IOException {
            HashMap<String, Double> unigramFrequencies = new HashMap<String, Double>();
            String line;
            String[] splittedLine;

            BufferedReader bf = new BufferedReader(new FileReader("unigramFrequencies.txt"));

            while ((line = bf.readLine()) != null) {
                splittedLine = line.split("\\s");


                unigramFrequencies.put(splittedLine[0].trim(), Double.parseDouble(splittedLine[1].trim()));
            }

            return unigramFrequencies;
        }
}

我想在我的 android 应用程序中使用它,但是当我创建此类的实例并尝试在 android Activity 类中执行 loadUnigramFrequencies() 函数时,出现应用程序意外停止的错误。我正在尝试在 Samsung Galaxy S2 上运行它。文件应该放在 android 项目的某个地方而不是磁盘上吗?如果是那么在哪里?

最佳答案

如果没有一点 logcat,它就有点微不足道了。

 unigramFrequencies.put(splittedLine[0].trim(), Double.parseDouble(splittedLine[1].trim()))

例如,如果 splittedLine[0] 或 splittedLine[1] 为空,这里可能会引发空指针执行,或者 parseDouble 可能会出现数字格式执行

关于android从文本文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568795/

相关文章:

android - 如何将自定义输入法的首选项添加到 Android 设置应用程序?

android - 滞后于 alpha 动画

android - react 导航 : How To Call Specific Function When User touches outside the Nav Drawer to Close it?

android - 模拟视频捕捉到 Android 手机

android - 仅在可见显示区域绘制多边形

java - 当第一个列表项不可达时,GC 是否会收集链表?

Android textview 阴影不能使用 style.xml

android - 如何使用 Gradle 将版本化的 *.so 文件包含到 apk 中?

android - 错误 :(29, 13) 无法解析 : com. squareup.picasso :picasso:2. 5.2

java - GreenDao如何实现回调