问题:我有两个文件,其中包含序列号,项目,价格,位置和其他文件列表。所以我想比较两个文件并打印输出在file1中重复项目的次数和序列号。
Text1文件将
Text2文件将
输出应为
因此file1没有按正确顺序格式化,文件2按顺序排列(逐行)。
答案 0 :(得分:3)
由于您没有明显的代码或努力,我只会提示/指导您使用一些工具。
用于解析字符串:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
从文件中读取:http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml
我建议首先阅读#2文件,然后将这些值保存到arraylist中,以便稍后在搜索时进行迭代。
答案 1 :(得分:0)
好的,我的方法是
答案 2 :(得分:0)
即使你的file1格式不正确,它的内容也有一些你可以用来成功读取它的模式。
对于每个项目,它具有所有信息(即序列号,名称,价格,位置),但不是按特定顺序。因此,当您从file1 -
中读取每个项目时,您已经注意并使用以下模式$
和.
字符。答案 3 :(得分:0)
单片JAVA代码无法最好地解决这些问题。如果您没有工具约束,那么建议的解决方法是将数据从文件1导入到数据库表中,然后从程序中运行查询以获取您喜欢的任何信息。您可以根据项目轻松选择序列号,并根据位置对其进行分组。
这种方法将确保您能够跟上不断变化的要求,如果您的文件很大,您将获得良好的性能。
我希望你精通SQL和数据库工具,所以我没有发布任何细节。
答案 4 :(得分:0)
使用正则表达式。
Step one, tracing and splitting at [\d,], store results in map Step two, read in the word from the second file. say it's "pen" Step three, do regex search "pen" on each string within the map. Step four, if the above returns true , do something like ([A-Z][A-Z],) on each string within the map.