Yes, both Posix and Linux man pages allows interrupted reads:
Posix read and Linux read. Posix page states:
The issue of which files or file types are interruptible is considered an implementation design issue. This is often affected primarily by hardware and reliability issues.
Linux man page on signals guarantees that it can happen on "slow" devices only:
read(2), readv(2), write(2), writev(2), and ioctl(2) calls on
"slow" devices. A "slow" device is one where the I/O call may
block for an indefinite time, for example, a terminal, pipe, or
socket.
Mac OS X agrees for its read:
[EINTR] A read from a slow device was interrupted before any
data arrived by the delivery of a signal.
but it's not confirmed for its write.
FreeBSD read too:
[EINTR] A read from a slow device (i.e. one that might block
for an arbitrary amount of time) was interrupted by
the delivery of a signal before any data arrived.
but again no mentioning of "slow devices" for write.
All in all, for normal files on majority of systems read
should work without problems, regarding write
it's not confirmed.