android分离文本文件

时间:2013-08-15 23:00:00

标签: android text-files

我一直在研究暗黑破坏神2如何动态生成战利品,我认为创建一个有趣的应用程序会很有趣,该应用程序将使用此系统随机生成项目。

我目前有代码,我认为应该读取整个txt文件,但它没有被解析。

看起来像:

private void itemGenerator() {
        int ch;
        StringBuffer strContent = new StringBuffer("");
        InputStream fs = getResources().openRawResource(R.raw.treasureclass);
        // read file until end and put into strContent
        try {
            while((ch = fs.read()) != -1){
                strContent.append((char)ch);
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}

文本文件中的示例如下所示:

Treasure Class  Item1   Item2   Item3
tc:armo3    Quilted_Armor   Buckler Leather_Armor
tc:armo60a  Embossed_Plate  Sun_Spirit  Fury_Visor
tc:armo60b  Sacred_Rondache Mage_Plate  Diadem

所以我现在想的是将每一行放入一个由{n分隔的StringTokenizer的数组中以获取每一行。然后以某种方式再次使用制表符分隔数组中的每个项目并将其放入2D数组?

我还没有对它进行编码,因为我觉得有更好的方法来实现这个我无法找到的方法,并希望对此事有一些有用的意见。

对于真正有兴趣知道项目生成方式如何工作的人来说,他们的wiki页面http://diablo2.diablowiki.net/Item_Generation_Tutorial非常深入!

1 个答案:

答案 0 :(得分:0)

我认为您在区分从文件中读出的每一行时遇到问题。为了逐行读取文件,您应该更改以下代码:

InputStream fs = getResources().openRawResource(R.raw.treasureclass);
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
String line = null;
while((line = br.readLine()) != null){
    Log.i("line", line);
    //split the content of 'line' and save them in your desired way
}