[英]Read two files (text) and compare for common values and output the string?
問題:我有兩個文件,一個包含序列號,項目,價格,位置列表,其他文件包含項目。 所以我想比較兩個文件並打印輸出文件編號在序列號中重復的次數。
Text1文件將具有
Text2文件將具有
輸出應為
因此,文件1的格式不正確,文件2的格式不正確(逐行)。
由於您沒有為此投入明顯的代碼或精力,因此,我僅向您提示/引導您使用一些工具。
解析字符串: 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中,以便以后在搜索時可以對它們進行迭代。
好吧,我的方法是
即使您的file1格式不正確,它的內容也具有某種模式,可以用來成功讀取它。
對於每個項目,它具有所有信息(即序列號,名稱,價格,位置),但沒有特定的順序。 因此,從文件1中讀取每個項目時,請注意並使用以下模式:
$
和$
.
字符。 單一的JAVA代碼不能最好地解決這些問題。 如果您沒有工具約束,那么建議的解決方法是將文件1中的數據導入數據庫表,然后從程序中運行查詢以獲取所需的任何信息。 您可以輕松地根據項目選擇序列號,並根據位置對其進行分組以進行計數。
這種方法將確保您能夠適應不斷變化的需求,如果文件很大,您將擁有良好的性能。
我希望您精通SQL和DB工具,因此我沒有在上面發布任何詳細信息。
使用正則表達式。
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.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.