問題:我有兩個文件,一個是序列號,項目,價格,位置和其他文件的項目列表。所以我想比較兩個文件,並用序列號打印文件1中重複項目的次數。讀取兩個文件(文本)並比較公共值並輸出字符串?
文本1文件將有
文本2文件將有
輸出應該是
所以在F ile1未按正確的順序格式化,文件2按順序(逐行)。
問題:我有兩個文件,一個是序列號,項目,價格,位置和其他文件的項目列表。所以我想比較兩個文件,並用序列號打印文件1中重複項目的次數。讀取兩個文件(文本)並比較公共值並輸出字符串?
文本1文件將有
文本2文件將有
輸出應該是
所以在F ile1未按正確的順序格式化,文件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.