在eclipse中使用java解析行的内容

时间:2012-01-06 15:05:53

标签: java stringtokenizer

任何人都可以给我一个解析文件内容的示例,并在使用java中的StringTokenizer类的分隔符后显示该文件中的特定单词。

谢谢大家,

实际上我试过这段代码  公共课词 {

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) - -------------------&gt; Feed id:0001处理

成功了。 ProcessingTimeTook:5毫秒。

输出为,

(FusionResultProcessor.java:145)  Feed id:0001处理

我想只打印feed id:xxx而我不想打印(fusion ...)。

  

我想在分隔符“&gt;”之后打印数据。

2 个答案:

答案 0 :(得分:0)

这是一个使用管道分隔符的示例(未经测试):

  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("|");
  }

答案 1 :(得分:0)

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);
}