If you have the co-operation of the user and only a modest amount of
I/O, you may be able to use textareas for I/O and mew windows for
output, getting the user to copy'n'paste accordingly.
And with a different sort of co-operation you could do the equivalent of
a file read using an <INPUT TYPE=FILE> control and a file write by
generating a file download stream.
I've used such a mechanism on a website that I built to fix corruption
in certain files - it was easier to write a site to fix up the files
than trying to explain the steps to people who'd never met an editor.
The problem with this approach (and one I totally agree with) is that
you cannot specify the file to be uploaded; that is left entirely to the
user(*).
(*) See
http://www.swiftys.org.uk/wiz?854