拆分时,拆分会跳过半个内容

时间:2013-11-15 16:50:03

标签: java android regex split

我有一个Android应用程序,它从文本文件中请求数据。当我尝试分离数据并初始化类时,我遇到了严重问题,因为丢失了一半的数据。 DataSource的代码是:

indicators = new ArrayList<Indicator>();
    try {
        InputStream fileStream = getResources().openRawResource(
                            R.raw.indicators);
        int fileLen = fileStream.available();
        // Read the entire resource into a local byte buffer.
        byte[] fileBuffer = new byte[fileLen];
        fileStream.read(fileBuffer);
        fileStream.close();
        displayText = new String(fileBuffer);
        String[] counts = displayText.split("@");
        for(String i: counts) {
            String[] temps = i.split(";");
            indicators.add(new Indicator(temps[0],temps[1],temps[2]));
            }
        } catch (IOException e) {
          // exception handling
        }
    for(Indicator i: indicators) Log.v("indicator", i.toString());

可以在此处找到Indicator类的代码:

    public class Indicator {
    private String name;
    private String isoCode;
    private String topic;

    public Indicator(String topic, String isoCode,String name) {
        this.name = name;
        this.isoCode = isoCode;
        this.topic = topic;
    }
    public String getName() {
        return this.name;
    }
    public String getIsoCode() {
        return this.isoCode;
    }
    public String getTopic() {
        return this.topic;
    }
    public String toString() {
        return (this.topic + "," + this.isoCode + "," + this.name);
    }
}

执行此过程后,以下日志文​​件会出现大量内容:

http://pastebin.com/1j5s1Z81

该文件似乎正在跳过其他所有条目,因此,我的整个软件都搞乱了。下面的源文件是:

http://pastebin.com/eAzppMdb

1 个答案:

答案 0 :(得分:0)

我无法通过修改命令来解决问题。我找到了解决这个问题的方法,但是通过使用读取打开的字符串的BufferedReader类。这似乎解决了这个问题。