我需要實現方法「合併」兩個讀卡器成一個作家
void filter(Reader mails, Reader groups, Writer users) throws IOException
以這樣一種方式,它會結合數據FROW讀者的兩片成一個作家。
的文件mails
應該是這樣的:
Login;Email
login1;[email protected]
login2;[email protected]
login3;[email protected]
login4;[email protected]
和groups
文件應該是這樣的:
Login;Group;
login1;Group1
login2;Group2
login3;Group3
login4;Group2
和合並的結果應該是這樣的:
Login;Email;Group
login1;[email protected];Group1
login2;[email protected];Group2
login3;[email protected];Group3
login4;[email protected];Group2
那麼,我想到的是:得到一個str從第一個閱讀器讀取數據,然後從第二個閱讀器讀取另一個字符串,根據需要操作它們,然後用寫入器寫入結果。
但是有沒有辦法讓它變得不同或更優雅?
PS:我不得不只使用Reader
和Writer
類。當我使用Writer向文件寫入內容時,如果我查看文件,我會看到一些不可讀的內容。但是,如果我用Reader讀取相同的文件,然後在控制檯上打印它,它看起來沒問題。這是正常的嗎?或者我如何寫入文件以使其可讀?
你爲什麼要用'Reader'和'Writer'做這個?兩個輸入文件是否總是被排序,這樣來自兩者的行總是可以被合併? – 2015-04-02 12:29:33
是的,他們是。那麼,我不想使用他們:)但這樣的任務) – 2015-04-02 12:31:07
即使文件被排序,仍然可能會丟失一個條目。我發現很難依靠這樣的事情。 – mike 2015-04-03 02:32:48