I have a item reader as below:
A string is intended to be quoted if it starts/ends with quote char. In your example:
oneColumn|twoColumn|~three|Column~|fourColumn
and you'll get three|Column
You have to quote string if it contains a separator, space, newline or the quoting char itself; quoting char must be doubled if part of value(see here)