2013-05-06 87 views
0

我想從SFTP目錄讀取多個文件並將其連接成一個結果文件。 因此,SFTP API返回InputStreams,並使用SequenceInputStream將它們連接起來。 只要所有csv文件都以空行結束,這可以正常工作,但如果它們不這樣做,一個文件的最後一行和另一個文件的第一行會被附加到不帶換行符的位置。連接多個InputStream並確保換行

我試圖找到一個優雅的方式來解決這個問題,但我無法找到一個。 所以我想要做的是能夠看到InputStream的最後一行,並確保它是一個換行符。如果沒有,請附加。 或者如果你有更好的解決方案,請讓我知道。 我想不瀏覽整個文件,並在此時查看他們的內容。

+0

這將有助於如果你會表現出一些代碼,以你目前有(所以它更多的是「插入這個有」或「這是你做錯了什麼」,而不是「這裏是你如何做到這一點」) 。 – Dukeling 2013-05-06 15:17:38

回答

0

你可以換一個自定義FilterInputStream的周圍的InputStream從SFTP API返回,當你讀文件的最後一個字節,驗證它是一個換行符。如果不是,則在返回數據給調用者之前添加另一個字節。