2013-06-02 5 views
1

Я хочу прочитать txt-файл, содержащий много разных фрагментов текста, разделенных строкой. В xcode это довольно просто, и я просто использую.Отдельные строки из текста

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

Я, кажется, не получить эту работу в андроида, хотя, я могу читать весь текст и поместить его в массив, но не отделиться так его только один длинный текст.

Я использую этот код

 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) { 


    } 

Любые хорошие способы, чтобы сделать это?

ответ

2

Вы можете использовать метод String.split

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

Для вашего подтверждения

String.split возвращает массив строк, вычисленный путем разделения этой шнурка вокруг матчей данного регулярного выражения

2

Вы должны использовать StringTokenizer.

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

stringVariable это содержимое файла и newString является строка разделитель.

РЕДАКТИРОВАТЬ

Второй параметр конструктору StringTokenizer «ы является delimiter. Это может быть новая строка \n или запятая , или что угодно.

Смежные вопросы