Разбор содержимого строки с использованием Java в Eclipse - PullRequest
0 голосов
/ 06 января 2012

Может ли кто-нибудь дать мне пример для анализа содержимого файла и отображения конкретных слов из этого файла после разделителей с использованием класса StringTokenizer в java.

спасибо всем,

на самом деле я попробовал этот код публичное слово {

public static void main(String[] args)
{
    String line=" ";
    int lineNo;

    try
    {
        FileReader fr= new FileReader("f:/parse1.txt");
        BufferedReader br=new BufferedReader(fr);
        for(lineNo = 1; lineNo <=10; lineNo++)
        {
            if(lineNo == 2)
            {
            line = br.readLine();

            StringTokenizer st=new StringTokenizer(line,"-->");

            while(st.hasMoreTokens())
            {
                String s=st.nextToken();
                System.out.println(s);
            }

            }else
            {
                br.readLine();
            }


        }

    }catch(Exception e)
    {
        System.out.println(e);
    }
}

}

Мое содержание в текстовом файле:

(FusionResultProcessor.java:145) - -------------------> Идентификатор фида: 0001 обработка

УДАЛОСЬ. ProcessingTimeTook: 5 миллисекунд.

получил вывод как,

(FusionResultProcessor.java:145) Идентификатор фида: 0001 обработка

Я хочу напечатать только идентификатор канала: xxx, и я не хочу печатать (fusion ...). это

Я хочу напечатать данные после разделителя ">".

Ответы [ 2 ]

0 голосов
/ 06 января 2012
BufferedReader reader = new BufferedReader(new FileReader(new File("/path/to/file.txt")));
StringBuffer stringBuffer = new StringBuffer();
String line = null;
while ((line = reader.readLine()) != null) {
    stringBuffer.append(line).append("\n");
} 
StringTokenizer st = new StringTokenizer(stringBuffer.toString());
while (st.hasMoreTokens()) {
    String word = st.nextToken();
    System.out.println(word);
}
0 голосов
/ 06 января 2012

Вот пример (не проверенный), в котором используется разделитель канала:

  FileInputStream fstream = new FileInputStream("file.txt");
  DataInputStream in = new DataInputStream(fstream);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String strLine;
  //Read File Line By Line
  while ((strLine = br.readLine()) != null)   {
      //Create a StringTokenizer and pass the line to it
      StringTokenizer st = new StringTokenizer(strLine);
      while(st.hasMoreTokens())
          String token = st.nextToken("|");
  }
...