本学期我在数据结构类(Java中),但我们正在对文本文件进行大量解析来填充我们设计的结构。重点是结构本身,而不是解析算法。我觉得在这个地区有点虚弱,想知道是否有人能指点我一本关于这个主题的书或网站。设计模式,库,样式等。谢谢!我在哪里可以了解更多关于在Java中解析文本的知识?
0
A
回答
1
您可以使用StringTokenizer类,String.split()方法以及正则表达式的Pattern和Matcher类进行基本的文本解析。
2
“设计模式”一书描述了递归下降解析器的结构。
javacc编译器编译器可用于在Java中生成解析器。
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将成为您的朋友。或者您可以随时在这里发布更具体的问题,并提供给您麻烦的格式。
相关问题
- 1. 我在哪里可以了解更多关于TransportSecurityWithMessageCredential在Silverlight 3
- 2. 我在哪里可以了解更多关于WebCoreSharedBufferData的信息?
- 3. 我在哪里可以了解更多关于解释网络数据包的知识?
- 4. 我在哪里可以了解更多关于Objective-C中自动引用计数的知识?
- 5. 我在哪里可以了解更多关于计算机程序设计和架构的知识?
- 6. 我在哪里可以了解更多关于WPF和Storyboard的内容?
- 7. 我在哪里可以了解更多关于PyPy的翻译功能?
- 8. 我可以在哪里了解更多关于PHP框架的结构?
- 9. 解析SDK:我可以在哪里找到版本标识符?
- 10. 我可以在哪里了解更多关于如何构建MVC网站?
- 11. 解析,我在哪里可以了解到它
- 12. 我在哪里可以了解有关Net :: HTTP方法的更多信息?
- 13. 我在哪里可以了解有关“蚁群”优化的更多信息?
- 14. 我可以在哪里了解有关Lambda表达式的更多信息?
- 15. 我可以在哪里了解有关P/Invoke的更多信息?
- 16. 我在哪里可以了解有关SnappyData列OLAP语法的更多信息?
- 17. 我在哪里可以了解更多关于在Android中使用的依赖项
- 18. 我可以在哪里了解C++实例关键字?
- 19. 在Java脚本中了解“this”关键词的基础知识
- 20. 我可以从哪里了解MEF?
- 21. 我可以在哪里了解pdf文件的结构?
- 22. 我在哪里可以找到关于%>%的更多信息%
- 23. 我在哪里可以获得更多关于Cocos2d的培训
- 24. 我在哪里可以学习更多关于xcode OpenGL?
- 25. 关于“解析器”方法的文档在哪里?
- 26. 我在哪里可以找到关于数据库分片的入门知识?
- 27. 我在哪里可以了解有关PowerPoint 2010文件格式的更多信息?
- 28. 如何以及在哪里可以了解更多关于Perl优化器的信息?
- 29. 我可以在哪里了解不同类型的数据库?
- 30. 我在哪里可以了解复杂的WPF绑定?
这对于更高级的解析,例如定义简单的语法非常适用。我们在公司中使用它来定义一个类似SQL的特定于域的查询语言。 – Adamski 2010-02-09 23:47:02
@Adamski:的确,我已经多次使用javacc了。作为一位老yacc(1)用户,我对它的简单性和力量印象深刻。 – 2010-02-10 19:26:37