从txt列表到String数组

时间:2014-07-06 21:59:25

标签: java android string

我不能相信我必须要求这么简单的问题,但似乎我无法找到解决方案。我在一个txt文件中有10个名字,我想创建一个具有这些名称的String数组。名称每行配置为1个名称,因此总共有10行。我试过这段代码

String[] txtToString() throws IOException {

    Scanner s = null;
    String[] string = new String[10];
    int count = 0;

    try {
        s = new Scanner(new BufferedReader(new FileReader(
                "file:///android_res/raw/words.txt")));

        while (s.hasNext()) {
            count++;
            string[count] = s.next();
        }
    } finally {
        if (s != null) {
            s.close();
        }
    }
    return string;
}

但它没有用。我还尝试过将#34; words.txt"作为文件路径但仍然没有。谢谢您的帮助。 附:由于某些未知原因,我无法导入java.nio.file.Files,因此它必须是不能使用该导入的东西。再次感谢。

3 个答案:

答案 0 :(得分:1)

尝试交换这两行:

count++;
string[count] = s.next();

目前你的计数变量从1到10,而不是像你想要的那样从0到9。

答案 1 :(得分:0)

试试这个

while (s.hasNext()) {
    string[count++] = s.next();
}

答案 2 :(得分:0)

好吧我解决了使用这种方法:

String[] txtToString() {
    String[] string = new String[10];
    int count = 0;
    try {
        Resources res = getResources();
        InputStream in = res.openRawResource(R.raw.words);

        BufferedReader reader = new BufferedReader(
                new InputStreamReader(in));

        String line;

        while ((line = reader.readLine()) != null) {
            string[count] = line;
            count++;
        }

    } catch (Exception e) {
        // e.printStackTrace();

    }
    return string;
}

从txt文件中返回10个元素的字符串数组" words.txt#34;