3

我正在使用 txt 文件进行关卡设计。我使用以下内容获取内容并转换为字符串缓冲区,然后遍历这些行以生成我的游戏对象。

问题是它是从上到下读取的,所以我必须颠倒设计我的关卡才能让它们正确。

如何更改流以相反的方式读取?或者以相反的方式将这些行写入字符串生成器?

 private static String convertStreamToString(InputStream is) {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append((line + "\n"));
            }
        } catch (IOException e) {
            Log.w("LOG", e.getMessage());
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                Log.w("LOG", e.getMessage());
            }
        }
        return sb.toString();
4

1 回答 1

6

您可以只使用sb.insert(0, line + "\n")而不是sb.append(line + "\n");.

这将始终在字符串的前面添加新行,而不是将其附加到末尾。应该完全按照您的意愿去做,并且会同样快,因为 StringBuilder 正是为这样的事情而制作的。

于 2013-05-23T08:26:44.600 回答