1

我想读取一个 txt 文件,其中包含许多由字符串分隔的不同文本块。在 xcode 中,这很容易,我只是使用。

self.Array = [text componentsSeparatedByString: @"NEWSTRING"];

不过,我似乎无法让它在 android 中工作,我可以阅读整个文本并将其放入一个数组中,但它不会被分开,所以它只是一个长文本。

我正在使用此代码

        AssetManager mngr;
    String line = null;
    boolean skillcheck = false;
    StringBuffer sb = new StringBuffer(0);
    String[] bb = null;
    tester = new ArrayList <String>();
    try {   
    mngr = getAssets();
    InputStream is = mngr.open("mytext.txt");
    InputStreamReader sir = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(sir);
    while((line=br.readLine()) != null) {


        sb.append(line);
        sb.append("\n");



    }


    tester.add(sb);



    br.close();

    } catch (IOException e1) {


    }

有什么好的方法可以做到这一点?

4

2 回答 2

2

你应该使用StringTokenizer.

StringTokenizer sTok=new StringTokenizer(stringVariable, "newString");
while(sTok.hasMoreTokens())
System.out.println(sTok.nextToken());

stringVariable是文件内容,newString是分隔符字符串。

编辑

StringTokenizer的构造函数的第二个参数是delimiter. 它可以是新行\n或逗号,或任何您想要的。

于 2013-06-02T16:47:16.417 回答
2

您可以使用String.split方法

String[] result = text.split("sometext");

为了您的认可

String.split返回通过围绕给定正则表达式的匹配拆分此字符串计算的字符串数组

于 2013-06-02T16:47:57.273 回答