If you write something to the outputstream of a packagepart the packagepart will be cleaned. all charakters are gone. Enclosed my code and a JUNIT test.
Created attachment 26478 [details] Code with Unit Test
You must close the outputstream of a packagepart, otherwise the data isn't written in the underlying zip package. Add mpOut.close() after you've written the data and you will be good: OutputStream mpOut = commentOriginal.getOutputStream(); mpOut.write(strCommentAfterManipulation.getBytes(), 0, strCommentAfterManipulation.length()); mpOut.close(); Yegor