Androidで280KB程度のテキストファイルを高速に読む必要があり、ベンチマークを取ったのでメモっておきます。

バイナリとして読み込んで、文字列に変換する方法(1):

    public static String readTextFromFileAll(String path) throws IOException {
        File f = new File(path);
        byte[] data = new byte[(int)f.length()];
        BufferedInputStream bis = new BufferedInputStream(
                new FileInputStream(f));
        bis.read(data);
        bis.close();
        String fs = new String(data, "utf-8");
        return fs;
    }

一行ずつ読み込む方法(2):

    public static String readTextFromFileB(String path) throws IOException {
        File fi = new File(path);
        BufferedReader b_reader = new BufferedReader(new InputStreamReader(
                new FileInputStream(fi),"UTF-8"));
        StringBuilder sb = new StringBuilder();
        String tmp;
        while((tmp = b_reader.readLine())!=null){
            sb.append(tmp);
            sb.append('\n');
        }
        return sb.toString();
    }

これを1000回繰り返して読み込みます。

1 1348ms
2 3008ms

以上、一行ずつ読むより、一度全部をメモリに載せてしまった方が速いという結論でした。