2010-02-09 90 views
0

本学期我在数据结构类(Java中),但我们正在对文本文件进行大量解析来填充我们设计的结构。重点是结构本身,而不是解析算法。我觉得在这个地区有点虚弱,想知道是否有人能指点我一本关于这个主题的书或网站。设计模式,库,样式等。谢谢!我在哪里可以了解更多关于在Java中解析文本的知识?

回答

1

您可以使用StringTokenizer类,String.split()方法以及正则表达式的Pattern和Matcher类进行基本的文本解析。

2

“设计模式”一书描述了递归下降解析器的结构。

javacc编译器编译器可用于在Java中生成解析器。

+0

这对于更高级的解析,例如定义简单的语法非常适用。我们在公司中使用它来定义一个类似SQL的特定于域的查询语言。 – Adamski 2010-02-09 23:47:02

+0

@Adamski:的确,我已经多次使用javacc了。作为一位老yacc(1)用户,我对它的简单性和力量印象深刻。 – 2010-02-10 19:26:37

3

对于Java的分析基本的文本文件,我将通过检查扫描仪类开始:

对于任何文本解析,正则表达式的基本知识是好东西有:

如果扫描仪没有完成这项工作,您总是可以通过一个文本文件逐行解析FileReader支持的BufferedReader。

BufferedReader reader = new BufferedReader(new FileReader("/path/to/file.txt")); 
for (String line = reader.readLine(); line != null; line = reader.readLine()) 
{ 
    //process your line here 
} 

扫描仪可能在这里再次有用,您还可以查看String.split()或Java Pattern API。

文件可以在多种格式但是。有关以给定定义明确的格式解析文件的最佳方式的建议,Google将成为您的朋友。或者您可以随时在这里发布更具体的问题,并提供给您麻烦的格式。

相关问题